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 相关文章推荐
Django1.3添加app提示模块不存在的解决方法
Aug 26 Python
简单介绍Python中的decode()方法的使用
May 18 Python
理解Python中的With语句
Mar 18 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
python线程池threadpool实现篇
Apr 27 Python
python 读取视频,处理后,实时计算帧数fps的方法
Jul 10 Python
在scrapy中使用phantomJS实现异步爬取的方法
Dec 17 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
python中count函数简单的实例讲解
Feb 06 Python
Python pysnmp使用方法及代码实例
Aug 24 Python
Python数据分析之pandas函数详解
Apr 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
php实现多张图片上传加水印技巧
2013/04/18 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
React 组件间的通信示例
2018/06/14 Javascript
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
[00:59]PWL开团时刻DAY7——我在赶
2020/11/06 DOTA
Python函数式编程指南(四):生成器详解
2015/06/24 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
英国婴儿和儿童服装网站:Vertbaudet
2018/04/02 全球购物
考试违纪检讨书
2014/02/02 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
爱心活动计划书
2014/04/26 职场文书
移交协议书
2014/08/19 职场文书
教导主任个人总结
2015/03/03 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
高中信息技术教学反思
2016/02/16 职场文书
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL
移除Selenium中window.navigator.webdriver值
2022/06/10 Python