python 获取页面表格数据存放到csv中的方法


Posted in Python onDecember 26, 2018

获取单独一个table,代码如下:

#!/usr/bin/env python3
# _*_ coding=utf-8 _*_
import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib.request import HTTPError
try:
  html = urlopen("http://en.wikipedia.org/wiki/Comparison_of_text_editors")
except HTTPError as e:
  print("not found")
bsObj = BeautifulSoup(html,"html.parser")
table = bsObj.findAll("table",{"class":"wikitable"})[0]
if table is None:
  print("no table");
  exit(1)
rows = table.findAll("tr")
csvFile = open("editors.csv",'wt',newline='',encoding='utf-8')
writer = csv.writer(csvFile)
try:
  for row in rows:
    csvRow = []
    for cell in row.findAll(['td','th']):
      csvRow.append(cell.get_text())
    writer.writerow(csvRow)
finally:
  csvFile.close()

获取所有table,代码如下:

#!/usr/bin/env python3
# _*_ coding=utf-8 _*_
import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup
from urllib.request import HTTPError
try:
  html = urlopen("http://en.wikipedia.org/wiki/Comparison_of_text_editors")
except HTTPError as e:
  print("not found")
bsObj = BeautifulSoup(html,"html.parser")
tables = bsObj.findAll("table",{"class":"wikitable"})
if tables is None:
  print("no table");
  exit(1)
i = 1
for table in tables:
  fileName = "table%s.csv" % i
  rows = table.findAll("tr")
  csvFile = open(fileName,'wt',newline='',encoding='utf-8')
  writer = csv.writer(csvFile)
  try:
    for row in rows:
      csvRow = []
      for cell in row.findAll(['td','th']):
        csvRow.append(cell.get_text())
      writer.writerow(csvRow)
  finally:
    csvFile.close()
  i += 1

以上这篇python 获取页面表格数据存放到csv中的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python mysqldb连接数据库
Mar 16 Python
Python中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
Python中的命令行参数解析工具之docopt详解
Mar 27 Python
python获取外网IP并发邮件的实现方法
Oct 01 Python
pyqt5自定义信号实例解析
Jan 31 Python
python库lxml在linux和WIN系统下的安装
Jun 24 Python
python 根据字典的键值进行排序的方法
Jul 24 Python
python实现多线程端口扫描
Aug 31 Python
pandas实现将日期转换成timestamp
Dec 07 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
解决python 输出到csv 出现多空行的情况
Mar 24 Python
python如何将mat文件转为png
Jul 15 Python
python 产生token及token验证的方法
Dec 26 #Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 #Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 #Python
python处理multipart/form-data的请求方法
Dec 26 #Python
Python实现的简单线性回归算法实例分析
Dec 26 #Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
Dec 26 #Python
python使用knn实现特征向量分类
Dec 26 #Python
You might like
php SQL防注入代码集合
2008/04/25 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
jQuery 事件队列调整方法
2009/09/18 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
基于jquery实现即时检查格式是否正确的表单
2016/05/06 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
javascript的delete运算符知识点总结
2019/11/19 Javascript
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
对命令行模式与python交互模式介绍
2018/05/12 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
Python中and和or如何使用
2020/05/28 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
临床医学专业求职信
2014/08/08 职场文书
2014年销售部工作总结
2014/12/01 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
python元组打包和解包过程详解
2021/08/02 Python
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs