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对url格式解析的方法
May 13 Python
Python入门教程之if语句的用法
May 14 Python
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 Python
5款非常棒的Python工具
Jan 05 Python
Python实现加载及解析properties配置文件的方法
Mar 29 Python
python引用(import)某个模块提示没找到对应模块的解决方法
Jan 19 Python
python 整数越界问题详解
Jun 27 Python
flask框架路由常用定义方式总结
Jul 23 Python
Pandas之groupby( )用法笔记小结
Jul 23 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
python进行参数传递的方法
May 12 Python
python输出国际象棋棋盘的实例分享
Nov 26 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程序员应该了解MongoDB的五件事
2013/06/03 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
jQuery旋转插件jqueryrotate用法详解
2016/10/13 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
基于Vue实现timepicker
2017/04/25 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
python查找目录下指定扩展名的文件实例
2015/04/01 Python
Django实现图片文字同时提交的方法
2015/05/26 Python
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
医学专业毕业生个人求职信
2013/12/25 职场文书
大学生求职计划书
2014/04/30 职场文书
推普周活动总结
2014/08/28 职场文书
三严三实心得体会范文
2014/10/13 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
社会实践单位意见
2015/06/05 职场文书
中学音乐课教学反思
2016/02/18 职场文书