Python读取网页表格数据
学会了从网格爬取数据,就可以告别从网站一页一页复制表格数据的时代了。
说个亲身经历的事:
以前我的本科毕业论文是关于“燃放烟花爆竹和空气质量”之间关系的,就要从环保局官网查资料。
一个省10个市,720天的数据,我就傻乎乎地,一页一页复制数据,然后还要手动清理数据。
幸好可以复制,要不然我都可能手抄,你信不信。
当时别说Python,R都不知道,甚至excel都跛脚。
结果,有同学帮老师做个实验,论文都快写好了,我还在处理数据。
也正是因为有了这个经历,促使了我毕业很多年以后,还想把爬取数据这样一件事做好。
同时,也希望能给后面学习的人一点启发。
…………………………………………以上为感慨,下面是正文………………………………………
1 #request网站请求
2 import urllib.request
3 #BeautifulSoup获取网站源代码
4 from bs4 import BeautifulSoup
5 import pandas as pd
6 import csv
7 response=urllib.request.urlopen("https://sthjt.ah.gov.cn/public/column/21691?type=4&action=list&nav=&sub=&catId=32710201")
8 #解析源代码
9 soup = BeautifulSoup(response, "html.parser")
10 links = soup.find("div", {"id": {"xxgk_lmcon"}})
11 ss =links.find_all("a")
12 for a in ss:
13 link = a.get('href')
14 #read_html可以直接获取网站表格
15 tb = pd.read_html(link)[2]
16 #mode='a'追加写入
17 tb.to_csv("C:\\Users\\RK-PC\\Desktop\\Crawldata.csv", mode='a')
为了看的更清楚一点,把我获取数据的网站截图搬上来。
F12找元素

点进去一个链接

看对应的源代码,注意到没有,网站表格基本都是这个结构,tr是表格的行,table row

这里本可以继续用find函数找标签,然后输出
为了使代码简洁一点,采用pandas库的read_html函数,直接读取表格。
最后,把表格写入csv文件,注意要表明,mode=‘a’,不覆盖。
声明:以上操作仅用于学习和研究。
Python读取网页表格数据的更多相关文章
- [转] Windows下使用Python读取Excel表格数据
http://www.python-excel.org/这个网站罗列了很多关于在Python下操作Excel文件的信息,这里选择了其介绍的第一个模块xlrd . xlrd 0.9.2版本跨平台同时支持 ...
- python读取Excel表格文件
python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1.安装Excel读取数据的库-----xlrd 直接pip install xlrd安 ...
- Java读取Execl表格数据
在前面提到用java代码新建一个Execl 表格并添加数据到表格中, 这次写了一个读取Execl表格数据并添加导数据库中的案列 给定对方一个Execl模板表格,如果导入的Execl表格和预订的表格不相 ...
- 利用 pandas库读取excel表格数据
利用 pandas库读取excel表格数据 初入IT行业,愿与大家一起学习,共同进步,有问题请指出!! 还在为数据读取而头疼呢,请看下方简洁介绍: 数据来源为国家统计局网站下载: 具体方法 代码: i ...
- python读取excel所有数据(cmd界面)
python读取excel所有数据(cmd界面) cmd界面显示excel数据 代码 import xlrd import os from prettytable import PrettyTable ...
- go读取excel表格数据
go读取excel表格数据 使用工具 github.com/Luxurioust/excelize 百度到的都是使用这个 实际上已经改名了 github.com/360EntSecGroup-Skyl ...
- Python读取Excel表格
前言:需要进行自动化办公或者自动化测试的朋友,可以了解下此文,掌握Python读取Excel表格的方法. 一.准备工作: 1.安装Python3.7.0(官网下载安装包) 2.安装Pycharm(官网 ...
- python提取网页表格并保存为csv
0. 1.参考 W3C HTML 表格 表格标签 表格 描述 <table> 定义表格 <caption> 定义表格标题. <th> 定义表格的表头. <tr ...
- Python读取execl表格
读取execl表格 import xlrd Execl = xlrd.open_workbook(r'Z:\Python学习\python26期视频\day76(allure参数.读excel.发邮件 ...
随机推荐
- 搞懂Redis协议RESP
RESP (REdis Serialization Protocal) Redis客户端和服务端之间通信的协议.它很简单,建立在TCP协议上,提供简单.高性能.可读性强的数据序列化的规范和语义. 5种 ...
- node十年心酸史,带你了解大前端的由来!
前言 近年来,随着前端的丰富,前后端分离是趋势.各种东西如雨后春笋一般,层出不穷.node.js的出现,使前端真正意义上变成了大前端. 前端由来之HTML发展史 1990 年,Tim Berners- ...
- WebStorm 2018.3.2 激活方式(永久)
其他版本下载:https://www.jetbrains.com/webstorm/download/other.html 这个适合2018.3.2 第一步:下载补丁包(jar)链接:https:// ...
- WIN10 64bit + QT5.10.0(MinGW3.5.0) + OpenCV3.4.1 无痛安装、配置
安装QT和配置MinGW 官方下载qt-opensource-windows-x86-5.10.0.exe 正常步骤安装QT5.10.0,安装过程选择自带的MinGW3.5.0编译器即可. 打开QtC ...
- MySQL高可用主从复制新增slave
原文转自:https://www.cnblogs.com/itzgr/p/10233932.html作者:木二 目录 一 基础环境 二 新增slave2方案 2.1 方案1:-复制主库 2.2 方案2 ...
- kubernetes部署一个应用程序
文章原文 部署 nginx Deployment 如果你已经完成了Kubernetes的搭建,那我跟我一块来部署第一个应用程序吧.没有完成 Kubernetes 集群搭建的,请参考文档 使用 kube ...
- 20210718 noip19
考场 去年考过这场,心态直接爆炸 T1 一眼 T2 当初是我讲的,基本都记得(flag) T3 只记得是树形 DP,但觉得 rush 完前两题后用大量时间应该能搞出来 结果 T2 写了好久,还写假了. ...
- Python - 3.8 新特性之仅位置参数 & 仅关键字参数
前置知识 Python 函数:https://www.cnblogs.com/poloyy/p/15092393.html 什么是仅限位置形参 仅限位置形参是 Python 3.8 才有的新特性 新增 ...
- JS012. 变量存储含class、id等其他属性的标签元素(动态渲染DOM结点)
项目中有一处源码需要用变量存储html标签,包含类名和其他一些属性,再动态地将其渲染到页面上. 看下普通的存储方式: initHtml: function () { var me = this; // ...
- JS004. 获取数组最后一个元素且不改变数组的四种方法
TAG: Array.length Array.prototype.reverse() Array.prototype.slice() Array.prototype.pop() Array对象 - ...