python爬虫之xpath解析
2021/11/24 17:10:33
本文主要是介绍python爬虫之xpath解析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这里我们用xpath爬取猪八戒网的信息
https://chongqing.zbj.com/search/f/?kw=python
首先我们打开猪八戒网,随便搜索一个服务,得到下面界面
然后我们对网页进行分析,我们先打开网页源代码,观察我们所要爬取的内容是否存在于网页源代码内
可以看出我们需要的内容就存在于网页源代码内,这时候我们需要分析网页的层级结构。
这是我们需要提取内容的所有供应商:
通过以下方法就可以获得所有供应商的层级关系,后面获取具体内容的层级关系也是依次类推
好了,我们上代码:
# @Time:2021/11/2412:42 # @Author:中意灬 # @File:八戒网.py # @ps:tutu qqnum:2117472285 #拿到网页源代码 #解析并获取数据 #保存数据 import csv import requests from lxml import etree url="https://chongqing.zbj.com/search/f/?kw=python" resp=requests.get(url) html=resp.text tree=etree.HTML(html)#将网页源代码生成一个etree的对象 divs=tree.xpath("/html/body/div[6]/div/div/div[2]/div[5]/div[1]/div")#拿到所有的供应商 with open("猪八戒网.csv",'w',encoding='utf-8',newline='') as f:#创建一个文件,转码为utf-8 writer=csv.writer(f) writer.writerow(["名称","价格","供应商","交易记录","地点"]) for div in divs:#每一天个供应商 #./表示当前节点,运用了相对查询 price=div.xpath("./div/div/a[2]/div[2]/div[1]/span[1]/text()")[0].strip("¥")#提取价格 transactionrecord=div.xpath("./div/div/a[2]/div[2]/div[1]/span[2]/text()")[0]#提取交易记录 title="python".join(div.xpath("./div/div/a[2]/div[2]/div[2]/p/text()"))#提取名称 contractor="".join(div.xpath("./div/div/a[1]/div[1]/p/text()")).strip("\n")#提取供应商 place=div.xpath("./div/div/a[1]/div[1]/div/span/text()")[0]#提取地点 writer.writerow([title,price,contractor,transactionrecord,place])#存入数据 print("over!")
运行结果:
这篇关于python爬虫之xpath解析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-18初探Python股票自动化交易:入门指南
- 2024-09-18Python量化入门:轻松掌握量化分析基础与实战
- 2024-09-18Python量化交易:入门指南与实践
- 2024-09-18Python量化交易:入门指南与实战技巧
- 2024-09-14Python人工智能项目实战:从零开始的实践指南
- 2024-09-14探索Python人工智能资料:初学者的指南
- 2024-09-14Python人工智能资料:初学者的全面指南
- 2024-09-13Matplotlib入门:轻松绘制Python数据可视化图表
- 2024-09-13Python人工智能:初学者的入门指南
- 2024-09-13Python人工智能:轻松入门与实践