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使用pymysql实现操作mysql
Sep 13 Python
python+selenium实现京东自动登录及秒杀功能
Nov 18 Python
详解python string类型 bytes类型 bytearray类型
Dec 16 Python
python基础学习之如何对元组各个元素进行命名详解
Jul 12 Python
破解安装Pycharm的方法
Oct 19 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
浅谈Pandas Series 和 Numpy array中的相同点
Jun 28 Python
Python文件操作方法详解
Feb 09 Python
使用python客户端访问impala的操作方式
Mar 28 Python
python读取excel数据绘制简单曲线图的完整步骤记录
Oct 30 Python
python中opencv实现图片文本倾斜校正
Jun 11 Python
python数字图像处理之图像的批量处理
Jun 28 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-redis中文文档介绍
2013/02/07 PHP
php创建sprite
2014/02/11 PHP
php安装swoole扩展的方法
2015/03/19 PHP
iOS10推送通知开发教程
2016/09/19 PHP
PHP-X系列教程之内置函数的使用示例
2017/10/16 PHP
javascript 模式设计之工厂模式学习心得
2010/04/27 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
python中upper是做什么用的
2020/07/20 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
物理教师自荐信范文
2013/12/28 职场文书
家长对小学生的评语
2014/01/28 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
小学生作文评语
2014/04/18 职场文书
2016教师校本研修心得体会
2016/01/08 职场文书
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS