pyquery–实列-汽车之家
from pyquery import PyQuery as pq
import requests
url = 'https://k.autohome.com.cn/121/#dataList'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.55'
}
result = requests.get(url,headers=headers)
result.close()
# 创建pyquery对象
query = py(result.text)
# 查找所有class=mt-10的标签
divs = query('.mt-10').items()
for div in divs:
if not div("div > dl:nth-child(3) > dt:contains(购车经销商)"):
# 因为有的nth-child(2)后面没有我想要的标签
# 在nth-child(2) 后面添加我指定的标签
div("div > dl:nth-child(2)").after(pq("""
- 购车经销商
-
 
"""))
# 型号
model = div('dl:nth-child(1) dd').eq(0).text().replace('n','').replace(' ','')
# 购买地点
site = div('dl:nth-child(2) > dd').text()
# 购买时间
date = div('dl:nth-child(4) > dd').text()
# 价格
money = div('dl:nth-child(5) > dd').text().replace(' 万元','')
# 油耗
ow = div('dl:nth-child(6) > dd > p:nth-child(1)').text().replace(' 升/百公里','')
# 目前行驶
kilometre = div("div > dl:nth-child(6) > dd > p:nth-child(2)").text().replace(" 公里", "")
# 评分
other = div("div > div > dl > dd").text().split()
data = (model,site,date,money,ow,kilometre,'-'.join(other))
print(data)