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 相关文章推荐
仅利用30行Python代码来展示X算法
Apr 01 Python
python3利用Dlib19.7实现人脸68个特征点标定
Feb 26 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
Python实现简单的文本相似度分析操作详解
Jun 16 Python
python清除字符串前后空格函数的方法
Oct 21 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
python django中8000端口被占用的解决
Dec 17 Python
Pytorch中膨胀卷积的用法详解
Jan 07 Python
tf.concat中axis的含义与使用详解
Feb 07 Python
Python之Django自动实现html代码(下拉框,数据选择)
Mar 13 Python
Python classmethod装饰器原理及用法解析
Oct 17 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Jun 07 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下连接ftp实现文件的上传、下载、删除文件实例代码
2010/06/03 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
2014/06/23 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
基于jQuery实现左侧菜单栏可折叠功能
2016/12/27 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
python实现俄罗斯方块游戏
2020/03/25 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
海淘母婴商城:国际妈咪
2016/07/23 全球购物
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
任课老师推荐信范文
2013/11/24 职场文书
森林防火工作方案
2014/02/14 职场文书
《理想》教学反思
2014/02/17 职场文书
航空学院求职信
2014/06/11 职场文书
促销活动总结怎么写
2014/06/25 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
身份证丢失证明
2015/06/19 职场文书
小学同学聚会感言
2015/07/30 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python
总结几个非常实用的Python库
2021/06/26 Python