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 相关文章推荐
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 Python
Python实现windows下模拟按键和鼠标点击的方法
Mar 13 Python
Python类属性的延迟计算
Oct 22 Python
pandas把dataframe转成Series,改变列中值的类型方法
Apr 10 Python
Python实现求一个集合所有子集的示例
May 04 Python
初探利用Python进行图文识别(OCR)
Feb 26 Python
django之使用celery-把耗时程序放到celery里面执行的方法
Jul 12 Python
python selenium 查找隐藏元素 自动播放视频功能
Jul 24 Python
解决pycharm安装第三方库失败的问题
May 09 Python
python中 _、__、__xx__()区别及使用场景
Jun 30 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 Python
如何用Python徒手写线性回归
Jan 25 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文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
php ajax 静态分页过程形式
2011/09/02 PHP
php rsa加密解密使用详解
2015/01/14 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
[37:02]OG vs INfamous 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
python之文件读取一行一行的方法
2018/07/12 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
HTML5有哪些新特征
2015/12/01 HTML / CSS
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
英国领先的新鲜松露和最好的松露产品供应商:TruffleHunter
2019/08/26 全球购物
医院护士求职自荐信格式
2013/09/21 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
教师师德演讲稿
2014/05/06 职场文书
企业年度评优方案
2014/06/02 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
先进工作者个人总结
2015/02/15 职场文书
招商银行收入证明
2015/06/17 职场文书
小学生纪律委员竞选稿
2015/11/19 职场文书