全国城市名称提取(https://www.aqistudy.cn/historydata/

刚需代码如下:
import requests
from lxml import etree

header = {
‘User-Agrnt’:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36’
}
url = https://www.aqistudy.cn/historydata/
page_text = requests.get(url=url,headers=header).text
tree = etree.HTML(page_text)

热门城市名称解析

allcity_names = []for li in hot_li_list:
hot_city_name = li.xpath(‘./a/text()’)[0]
all_city_names.append(hot_city_name)


全部城市名称解析

city_names_list = tree.xpath(‘//div[@class=”bottom”]/ul/div[2]/li’)#div【2】意思是取第二个div内的内容
for li in city_names_list:
city_name = li.xpath(‘./a/text()’)[0]
all_city_names.append(city_name)

解析热门城市和所有城市的a标签
热门城市 div/ul/li/a
所有城市 div/ul/div[2]/li/a

allcity_names = []
a_list = tree.xpath(‘//div[@class=”bottom”]/ul/li/a | //div[@class=”bottom”]/ul/div[2]/li/a’)
#用或运算符来连接两个层级不同的查找
_for a in a_list:
city_name = a.xpath().text
all_city_names.append(city_name)

验证码识别

反爬机制:验证码。识别验证码图片中的数据,用于模拟登录操作。
识别验证码操作:
1.人工肉眼识别
2.第三方自动识别(推荐)
—云打码(已跑路)
—超级鹰
1.创建一个软件:我的软件->添加新软件-> 录入软件名称->提交(获得id和密钥)
2.下载示例代码:开发文档->下载DLL->pythonHTTP实例下载

实战我就不写了因为教程用的是云打码人家跑路了,大概流程是在html里复制出验证码图片的xpath放到tree.xpath()里,获得验证图片的url然后获取图片并保存,然后将验证代码复制过来,修改参数