xpath爬虫-抓取全国行政区划和城乡区划数据
数据来源地址:2020年度全国行政区划和城乡划
代码示例:以安徽省合肥市为例
import requests
from lxml import etree
import pandas as pddef get_html(url):header = {'user-agent': '你自己的浏览器信息'}try:response = requests.get(url, headers=header)# 判断网页是否正确返回if response.status_code == 200:return response.content.decode('gbk')else:print("{0}网页请求状态码错误!{0}".format("-" * 10))except Exception as e:print("{0}请求参数出现错误:{1}{0}".format("-" * 10, e))def parse_url(url, xpath_path):html = get_html(url)# 构建下一级跳转初始url部分next_base_url = "/".join(url.split("/")[:-1])# 初始化HTML = etree.HTML(html)# 获取区级名称和对应下一级链接all_area = HTML.xpath(f'{xpath_path}/text()')next_link = HTML.xpath(f'{xpath_path}/@href')return [(i[0], next_base_url + "/" + i[1]) for i in list(zip(all_area, next_link))]def parse_url2(url, xpath_path):"""最后一级,无跳转链接"""html = get_html(url)# 初始化HTML = etree.HTML(html)villagetr = HTML.xpath(f'{xpath_path}/text()')return villagetrresult = []
xpath_path = '//tr[@class="countytr"]/td[2]/a'
url = "http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2019/34/3401.html"
# 市 get ==》 区:名字&链接
for i in parse_url(url, xpath_path):area1, url = ixpath_path = '//tr[@class="towntr"]/td[2]/a'# 区 get ==》 镇:名字&链接for j in parse_url(url, xpath_path):area2, url = jxpath_path = '//tr[@class ="villagetr"]/td[3]'# 镇 get ==》 街道:名字for k in parse_url2(url, xpath_path):result.append([area1, area2, k])df = pd.DataFrame(result, columns=["区", "镇/街道", "居委会"])
df.to_excel("合肥市行政区域划分.xlsx", index=False)
xpath爬虫-抓取全国行政区划和城乡区划数据相关推荐
- 抓取全国行政区划(PHP)代码
项目需要,简单写了一个抓取全国行政区划的代码. class AreaCodeCtrl extends Controller{static function getSubstr($str, $leftS ...
- Python爬虫小记(2) :抓取全国各省市疫情实时数据 绘制2019-nCoV疫情地图
2021/07/15更新: 没有及时看到评论区反馈的问题,属实抱歉,拉下代码看了一下应该是Pyecharts中Map的data_pair数据类型发生了变化,现将dic_items转化 ...
- 每日一练:Python爬虫爬取全国新冠肺炎疫情数据实例详解,使用beautifulsoup4库实现
Python 爬虫篇 - 爬取全国新冠肺炎疫情数据实例详解 效果图展示 第一章:疫情信息的下载与数据提取 ① 爬取页面数据到本地 ② json 字符串正则表达式分析 ③ 提取数据中的 json 字符串 ...
- python+ BeautifulSoup抓取“全国行政区划信息查询平台”的省市区信息
全国行政区划信息查询平台地址:http://xzqh.mca.gov.cn/map 检查网页源码: 检查网页源码可以发现: 所有省级信息全部在javaScript下的json中,会在页面加载时加载js ...
- 网络爬虫-抓取全国高校名单(分区域)
参考链接: 从人人网获取全国中学信息(省市县) 主要代码为参考+改进上面博客的原创,在人人网的select弹框form里面抓取出全国高校名单. 主要代码块如下 def getProvinceData( ...
- Python抓取全国旅游景点以及小吃数据,想做旅游攻略?Python助你事半功倍。
前言 疫情自从来了之后已经很久没有出去旅游过了,蹭着这段疫情好转,那肯定是要出去走一走的,这一篇其实是全国旅游中的一站,因为每个城市能玩的地方太多了,一篇文章下来肯定是写不了的,所以今天就抓取一下-- ...
- C#网页爬虫抓取行政区划
借鉴C#网页爬虫抓取行政区划,从国家统计局获取了最新行政区域数据. 以下为代码贴片: 数据库类: public class City {public decimal ID { get; set; }p ...
- Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称
Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称 这一节主要是使用xpath解析爬取全国城市名称 这里使用的网址是:空气质量历史数据查询 这一个案例体现的点主要是xpat ...
- Python爬虫抓取 python tutorial中文版,保存为word
看到了中文版的python tutorial,发现是网页版的,刚好最近在学习爬虫,想着不如抓取到本地 首先是网页的内容 查看网页源码后发现可以使用BeautifulSoup来获取文档的标题和内容,并保 ...
最新文章
- HR吐槽BAT员工:不要把平台的光环当成自己的,我们需要造火箭的。
- 彻底卸载VS 2013
- hive 数据存储格式详解
- Linux后台执行命令
- 11. GD32F103C8T6 入门教程-外部中断
- mysql安装服务和安装中常见问题install/Remove of the Service Denied与net start mysql服务启动失败解决方法
- 统计数组中出现次数最多的元素并输出
- 错误及原因:Empty JPEG image (DNL not supported)
- 数字图像处理技术与应用练习题
- PythonStock(25)股票系统:PythonStock V1 发布了,基于Python开发,使用Tushare抓取数据,存储到Mariadb数据库中,同时还开发了通用数据报表系统,通过配置
- 传感器课程实验:Pt100 铂电阻测温特性实验
- 页面关闭时postback,导致IE假死的分析
- python实现投票问题。
- FineCMS安装教程
- 大一python基础编程试卷_大学moocPython编程基础答案
- ABAP BTE增强举例
- 一个神奇的分布式计算框架:jini
- 【springboot进阶】RestTemplate 集成 okhttp3 请求带p12证书
- STM32CubeIDE HAL库操作IIC (二)案例篇(MPU9250)
- 【matlab】:matlab的输入和输出