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中使用md5sum检查目录中相同文件代码分享
Feb 02 Python
在Python的Django框架中创建语言文件
Jul 27 Python
详解Python3中的Sequence type的使用
Aug 01 Python
Pyhton中单行和多行注释的使用方法及规范
Oct 11 Python
Python实现单词翻译功能
Jun 06 Python
Python中关于Sequence切片的下标问题详解
Jun 15 Python
python 以16进制打印输出的方法
Jul 09 Python
Win8下python3.5.1安装教程
Jul 29 Python
Django中的forms组件实例详解
Nov 08 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 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实现无限极分类图文教程
2014/11/25 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
悄悄用脚本检查你访问过哪些网站的代码
2010/12/04 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
vue操作dom元素的3种方法示例
2020/09/20 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
用Python中的字典来处理索引统计的方法
2015/05/05 Python
Python中异常重试的解决方案详解
2017/05/05 Python
python迭代器常见用法实例分析
2019/11/22 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
铭立家具面试题
2012/12/06 面试题
MIS软件工程师的面试题
2016/04/22 面试题
Java面试题:为什么要用Java
2012/05/11 面试题
我的梦想演讲稿
2014/04/30 职场文书
市场营销调查计划书
2014/05/02 职场文书
给校长的建议书300字
2014/05/16 职场文书
给校长的建议书100字
2014/05/16 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
法人委托书范本
2014/09/15 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
运动会加油稿20字
2014/11/15 职场文书
预备党员党支部意见
2015/06/02 职场文书
教师节获奖感言
2015/07/31 职场文书
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS