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 open读写文件实现脚本
Sep 06 Python
Python中处理字符串之islower()方法的使用简介
May 19 Python
Python中if __name__ == '__main__'作用解析
Jun 29 Python
python读取目录下最新的文件夹方法
Dec 24 Python
Python中文件的写入读取以及附加文字方法
Jan 23 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
python 初始化一个定长的数组实例
Dec 02 Python
Python实现从N个数中找到最大的K个数
Apr 02 Python
Ubuntu中配置TensorFlow使用环境的方法
Apr 21 Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 Python
python调用摄像头的示例代码
Sep 28 Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
Apr 14 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 SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
apache中为php 设置虚拟目录
2014/12/17 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
比Jquery的document.ready更快的方法
2010/04/28 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
2017/08/16 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
javascript设计模式之装饰者模式
2020/01/30 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
Python进程间通信用法实例
2015/06/04 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
Python jieba库用法及实例解析
2019/11/04 Python
Python气泡提示与标签的实现
2020/04/01 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
介绍一下grep命令的使用
2015/06/12 面试题
护士求职推荐信范文
2013/11/23 职场文书
CAD制图设计师自荐信
2014/01/29 职场文书
优秀干部获奖感言
2014/01/31 职场文书
日语专业个人求职信范文
2014/02/02 职场文书