利用Python爬虫 爬取国家统计局人口与就业统计数据

183 阅读1分钟

我正在参加「创意开发 投稿大赛」详情请看:掘金创意开发大赛来了!

 大家好 我是政胤 

今天教大家利用Python爬虫 爬取国家统计局人口与就业统计数据

每天走在刑的路上 不在怕的

我都这样的 还在为大家分享技术 要不.....你关注我一下?

工具使用
开发工具:pycharm

开发环境:python3.7, Windows10

使用工具包:requests,lxml

爬取网站:国家统计局

效果展示

c6b63854820d3620c78dfe6d38a79a30.gif​编辑


2a8184bd48762fa63f2b2c495768fc16.png​编辑

每个选项对应的是单独的表格数据 请求数据来源地址 通过xpath的方式提取出数据的下载地址

81dc3d57eee3c97d83f943087d515199.png​编辑

 提取出数据的href属性 提取出数据的标题 

5dff0edb1d95414f08b484b09b4bf37d.png​编辑

url = 'http://www.stats.gov.cn/tjsj/pcsj/rkpc/6rp/lefte.htm'
response = Tools(url).content.decode('gbk')
html = etree.HTML(response) # 创建HTML对象
title = html.xpath('//ul[@id="foldinglist"]/li/a/text()') # text获取该标签内的文字内容
details = html.xpath('//ul[@id="foldinglist"]/li/a/@href') [:-13]# 下载地址的后缀


取出数据拼接出新的url地址 获取到新的表格下载地址

19faaada257c60b459892383a9bef5bb.png​编辑

 再次请求新的url 保存文件数据 

fae4bd99dd090cc23de0e00bbd0bb61a.png​编辑

以下为源码: import requests from lxml import etree ​ ​ def Tools(url):     # 模拟浏览器请求 防止被反爬  请求头     headers = {         'Referer': 'www.stats.gov.cn/tjsj/pcsj/r…',         'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 Edg/91.0.864.59'     }     response = requests.get(url, headers=headers)     return response ​ ​ def Save(name, urls):     '''     请求Excel下载地址 并且保存到代码同路径的 index文件夹     :param name: 存储的名称     :param urls: xls 下载地址     :return:     '''     response = Tools(urls).content  # 返回的是字节     f = open('{}.xls'.format(name), 'ab')     f.write(response)     f.close()     print('{}下载完成.....'.format(name)) ​ ​ url = 'www.stats.gov.cn/tjsj/pcsj/r…' response = Tools(url).content.decode('gbk') html = etree.HTML(response) # 创建HTML对象 xml格式 title = html.xpath('//ul[@id="foldinglist"]/li/a/text()') # text获取该标签内的文字内容 details = html.xpath('//ul[@id="foldinglist"]/li/a/@href') [:-13]# 下载地址的后缀 for t, d in zip(title, details):     urls = 'www.stats.gov.cn/tjsj/pcsj/r…' + d     Save(t, urls) 制作不易 点个免费的关注吧

10d9902a96ff67f7ba020a317d384d2b.png​编辑

我是政胤 期待你的关注