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实现保证只能运行一个脚本实例
Jun 24 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
python2.7的编码问题与解决方法
Oct 04 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
python实现点对点聊天程序
Jul 28 Python
使用Selenium破解新浪微博的四宫格验证码
Oct 19 Python
Pycharm简单使用教程(入门小结)
Jul 04 Python
Python学习笔记之lambda表达式用法详解
Aug 08 Python
Python函数基本使用原理详解
Mar 19 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 Python
Python中pass的作用与使用教程
Nov 13 Python
OpenCV-Python实现轮廓拟合
Jun 08 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程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
利用JS判断用户是否上网(连接网络)
2013/12/23 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
微信小程序自动客服功能
2017/11/02 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
Python实现的一个简单LRU cache
2014/09/26 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
将labelme格式数据转化为标准的coco数据集格式方式
2020/02/17 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
Python依赖包迁移到断网环境操作
2020/07/13 Python
python selenium xpath定位操作
2020/09/01 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
酷瑞网络科技面试题
2012/03/30 面试题
实习自我鉴定范文
2013/10/30 职场文书
2014年审计工作总结
2014/11/17 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
2019年思想汇报
2019/06/20 职场文书
Python OpenCV超详细讲解基本功能
2022/04/02 Python
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技