专栏导读
🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
🏳️🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注
👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅
🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅
📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
库的安装
库 | 用途 | 安装 |
---|---|---|
requests | 爬虫 | pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple |
lxml | xpath | pip install lxml-i https://pypi.tuna.tsinghua.edu.cn/simple |
分析页面
-
1、URL:https://baike.baidu.com/item/%E8%A1%8C%E6%94%BF%E5%8C%BA%E5%88%92%E4%BB%A3%E7%A0%81/5650987?fr=ge_ala
-
2、返回数据为网页(txt)
-
3、如果返回的数据是静态网页,那么使用 lxml
-
4、如果是直辖市、自治州,div标签会有一个属性【data-level】
-
5、其他的都在一个div属性为【data-idx】
-
6、注意容城县、雄县、安新县这三个地方,需要手动添加进最后保存的json中
-
还有西沙区和南沙区,也需要单独处理
完整代码
# -*- coding: UTF-8 -*-
'''
@Project :测试
@File :获取全国行政地区编码.py
@IDE :PyCharm
@Author :一晌小贪欢(278865463@qq.com)
@Date :2024/9/22 下午12:05
'''
import json
# headers信息
import requests
from lxml import etree
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
}
params = {
}
# 发起POST请求
response = requests.get(
url="https://baike.baidu.com/item/%E8%A1%8C%E6%94%BF%E5%8C%BA%E5%88%92%E4%BB%A3%E7%A0%81/5650987?fr=ge_ala",
params=params,
headers=headers,
verify=True
)
# 解析响应内容
data = response.text
# print(data)
data = etree.HTML(data)
body = data.xpath('//div[@class="J-lemma-content"]//div[@data-level or @data-idx ]')[4:-4]
code_dict = {}
for i in body:
data = i.xpath('.//text()')[0].lstrip()
if data == '':
continue
if '雄安新区户籍居民的户口簿和身份证登载' in data or '雄安新区' in data or '香港特别行政区810000' in data:
continue
if '容城县、雄县、安新县' in data:
continue
# print(data)
add_code = data.split(' ')
add_code = [i for i in add_code if i != '']
print(add_code)
if add_code[0] == '西沙区':
add_code[0] = '460321'
elif add_code[0] == '南沙区':
add_code[0] = '460322'
else:
code_dict[add_code[0]] = add_code[1]
with open('code.json', 'w', encoding='utf-8') as f:
json.dump(code_dict, f, ensure_ascii=False,indent=4)
总结
-
希望对初学者有帮助
-
致力于办公自动化的小小程序员一枚
-
希望能得到大家的【一个免费关注】!感谢
-
求个 🤞 关注 🤞
-
此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏
-
求个 ❤️ 喜欢 ❤️
-
此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏
-
求个 👍 收藏 👍
-
此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏