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 相关文章推荐
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
Python爬虫抓取手机APP的传输数据
Jan 22 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
对pandas的层次索引与取值的新方法详解
Nov 06 Python
Python读取xlsx文件的实现方法
Jul 04 Python
Django使用模板后无法找到静态资源文件问题解决
Jul 19 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
Oct 11 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
pytorch方法测试详解——归一化(BatchNorm2d)
Jan 15 Python
Python+Appium实现自动化测试的使用步骤
Mar 24 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
Jun 10 Python
python遍历路径破解表单的示例
Nov 21 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
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
扩展String功能方法
2006/09/22 Javascript
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
详解Vue之计算属性
2020/06/20 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
JavaScript实现商品评价五星好评
2020/11/30 Javascript
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
python 正则表达式 概述及常用字符
2009/05/04 Python
对于Python的Django框架部署的一些建议
2015/04/09 Python
Apache如何部署django项目
2017/05/21 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
Python PyQt5实现的简易计算器功能示例
2017/08/23 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
numpy中的meshgrid函数的使用
2019/07/31 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
python 调用Google翻译接口的方法
2020/12/09 Python
python Pexpect模块的使用
2020/12/25 Python
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
办公室主任岗位职责
2013/11/08 职场文书
新三好学生主要事迹
2014/01/23 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
2014年新教师工作总结
2014/11/08 职场文书
2014年派出所工作总结
2014/11/21 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
Nginx报404错误的详细解决方法
2022/07/23 Servers