之家案例"/>
#Pythonpyquerycar之家案例
查看页面源码
案例
"""
1. 提取页面源代码
2. 解析页面源代码,提取数据"""
import requests
from pyquery import PyQuery
f = open("qingchezhijia.csv",mode='w',encoding='utf-8') # 创建文件def get_page_source(url): # 定义函数 访问页面resp = requests.get(url)resp.encoding = "gbk"# print(resp.text)return resp.textdef parse_page_source(html): # 解析 并找准定位doc =PyQuery(html)mt_list = doc(".mt-10").items() # class ="mt-10"for mt in mt_list: # 拿到每一个# 判断是否有汽车经销商if not mt("div >dl:nth-child(3)>dt:contains(购车经销商)"):# 向 地点 后添加购车经销商进去mt("div >dl:nth-child(2)").after(PyQuery("""<dl class="choose-dl"><dt>购车经销商</dt><dd><a href="###" class="js-dearname" data-val="81115,51982" data-evalid="4033271" target="_blank"> </a></dd></dl>"""))# 提取购买的车型# 想要在已经提取的内容中获得第一个怎么办? .eq(0)# nth - child(1) 在css进行选择的时候,选取第1个位置的内容car =mt("div>dl:nth-child(1)>dd").eq(0).text().replace("\n","").replace(" ","")place = mt("div>dl:nth-child(2)>dd").eq(0).text()time = mt("div>dl:nth-child(4)>dd").eq(0).text()price = mt("div>dl:nth-child(5)>dd").eq(0).text().replace("万元","")youhao = mt("div>dl:nth-child(6)>dd >p:nth-child(1)").eq(0).text().replace("升/百公里","")kilometer = mt("div>dl:nth-child(6)>dd >p:nth-child(2)").eq(0).text().replace("公里","")# for i in range(8):# other = mt("div>div>dl>dd").text().split()# i+=1other = mt("div>div>dl>dd").text().split()# kongjian = mt("div>dl:nth-child(7)>dd").eq(0).text()# kongjian = mt("div>dl:nth-child(7)>dd >p:nth-child(1)")# kongjian = mt("div>div>dl")[1].text()# print(car,other)# 存储到文件中.....f.write(f"购买车型:{car},购买地点:{place},购买时间:{time},购车购买价:{price},油耗:{youhao},目前行驶:{kilometer},其它:{other}\n") # 爬取想要的数据存放在文件中# print(other)def main(): # 定义函数 并调用函数url = "/"# 1.提取页面源代码html = get_page_source(url)# 2.解析页面源代码,提取数据parse_page_source(html)if __name__ == '__main__': # 调用函数 => 主函数(main)main()
运行结果:
更多推荐
#Pythonpyquerycar之家案例
发布评论