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.发邮件 ...
随机推荐
- The First Week luckyzpp
一 ,LINUX系列有很多版本,只是我们很少去了解到更多,我们熟知红帽CentOS,Ubuntu,Debian, Kali, Rocky各种版本系列. 二 目前Linux 生产主流版本如下: C ...
- Go测试--子测试
目录 简介 简单的例子 子测试命名规则 过滤筛选 子测试并发 总结 简介 简单的说,子测试提供一种在一个测试函数中执行多个测试的能力,比如原来有TestA.TestB和TestC三个测试函数,每个测试 ...
- spring之自定义注解
java.lang.annotation提供了四种元注解,专门注解其他的注解: @Target –注解用于什么地方,默认值为任何元素,表示该注解用于什么地方.可用的ElementType指定参数 ,也 ...
- Vulnhub靶机渗透 -- DC5
信息收集 通过nmap搜索到IP为:192.168.200.11 开启了80http.111RPC服务端口 先打开网页,然后进行目录爆破 contact.php 攻击 经搜索没有发现可以攻击wheel ...
- pip 源的问题
pip install -i https://pypi.doubanio.com/simple/ --trusted-host pypi.douban.com some-package
- .Net Core 中的选项Options
.NetCore的配置选项建议结合在一起学习,不了解.NetCore 配置Configuration的同学可以看下我的上一篇文章 [.Net Core配置Configuration源码研究] 由代码开 ...
- Django——后台管理
1.要使用Django-admin后台的前提 INSTALLED_APPS = [ 'simpleui', 'django.contrib.admin', #必须有这一项 'django.contri ...
- djangoProject default codes
1 === 2 settings.py 3 === 4 """ 5 Django settings for djangoProject project. 6 7 Gene ...
- CentOS 安装制定版本docker
# 1) 配置镜像仓库 curl -o /etc/yum.repos.d/Docker-ce-Ali.repo https://mirrors.aliyun.com/docker-ce/linux/c ...
- python模块--glob, fnmatch
包/方法 返回值 参数 说明 glob Unix shell样式的路径扩展 .glob() list 匹配满足规则的所有路径(默认以 . 开头的文件不会匹配到, 可以用 .* 来匹配) pat ...