Python常用插件类举,lxml+Xpath实现爬虫,使用Xpath爬取链家二手房源信息 缺乏、安全感 2023-07-05 05:19 32阅读 0赞 **目录** 一、XPath 二、XPath 常用规则 三、在谷歌浏览器安装XPath插件 四、Python爬虫常用插件 五、使用Xpath解析 六、Xpath匹配示例 1.查看所有的标签(如p、a、li标签等) 2.查看某标签下的所有标签(如p下的a标签) 3.带属性值的匹配 4.查看某标签下的第n个标签 5.输出某标签的属性值 6.xpath常用函数 7.总结 七、链家二手房Python爬虫程序 1.需求分析 2.Xpath分析 3.Python对Xpath的支持 4.Xpath的使用方式 5.编写程序 -------------------- ## 一、XPath ## XPath,全称 XML Path Language,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言。最初是用来搜寻 XML 文档的,但同样适用于 HTML 文档的搜索。所以在做爬虫时完全可以使用 XPath 做相应的信息抽取。 XPath 的选择功能十分强大,它提供了非常简洁明了的路径选择表达式。另外,它还提供了超过 100 个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等,几乎所有想要定位的节点都可以用 XPath 来选择。 官方文档:[https://www.w3.org/TR/xpath/][https_www.w3.org_TR_xpath] ## 二、XPath 常用规则 ## <table> <thead> <tr> <th>表达式</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>nodename</td> <td>选取此节点的所有子节点</td> </tr> <tr> <td>/</td> <td>从当前节点选取直接子节点</td> </tr> <tr> <td>//</td> <td>从当前节点选取子孙节点</td> </tr> <tr> <td>.</td> <td>选取当前节点</td> </tr> <tr> <td>..</td> <td>选取当前节点的父节点</td> </tr> <tr> <td>@</td> <td>选取属性</td> </tr> </tbody> </table> 这里列出了 XPath 的常用匹配规则,示例如下: > //title\[@lang='eng'\] 这是一个 XPath 规则,代表的是选择所有名称为 title,同时属性 lang 的值为 eng 的节点,后面会通过 Python 的 lxml 库,利用 XPath 进行 HTML 的解析。 ## 三、在谷歌浏览器安装XPath插件 ## 在谷歌浏览器安装XPath插件需要安装Google访问助手。下载地址:[http://www.zdfans.com/html/27204.html][http_www.zdfans.com_html_27204.html] 下载完之后解压,在google浏览器点击设置,更多工具,扩展程序 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70][] 点击开发者模式,将刚才解压的文件直接拖到这个界面,浏览器会自动安装。我已经安装了,安装好之后第一个就是。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 1][] 右上角将会显示图标 ![20200213104345974.png][] 点击Chrome商店 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 2][] 在搜索店内应用搜索并安装三个插件,分别是 **1.Xpath helper** **2.JsonView** **3.SwitchyOmega** ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 3][] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 4][] 安装完后如图所示: ![20200213104925599.png][] # # ## 四、Python爬虫常用插件 ## **1.google-access-helper:**谷歌浏览器助手,可访问谷歌商店和使用Google搜索 **2.Xpath helper:**获取Html元素的Xpath路径,打开/关闭:ctrl+shift+X **3.JsonView:**格式化输出json数据 **4.SwitchyOmega:**谷歌浏览器中的代理管理扩展程序 ## 五、使用Xpath解析 ## 完成了前面的操作后,我们来看看Xpath的简单使用,我们拿一个网站来做测试。 测试页面为猫眼电影网:[https://maoyan.com/board][https_maoyan.com_board] 进入到页面,右键打开检查,我们观察到电影名是在<div class=""movie-item-info>下的p标签下的a链接的内容。所以我们可以写出Xpath的表达式: //div\[@class="movie-item-info"\]/p/a 我们在按ctrl+shift+x打开Xpath匹配,Query下输入//div\[@class="movie-item-info"\]/p/a。Result里面输出结果。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 5][] 以上是Xpath的第一次尝试,相信读者有点懵逼,没关系,下面来讲Xpath的几个经典示例。 ## 六、Xpath匹配示例 ## ### 1.查看所有的标签(如p、a、li标签等) ### 在一个Html页面中,如果要匹配所有的标签,可以输入://标签名 打开猫眼电影:[https://maoyan.com/board][https_maoyan.com_board] 以p标签为例,//p将会匹配所有的p标签下的内容。//代表从当前节点选取子孙节点,而当前结点就是根节点,所以//p将会匹配根节点下所有p节点。读者可以尝试其他标签。 ![20200213143037346.png][] ### 2.查看某标签下的所有标签(如p下的a标签) ### 如图所示,根据我的分析,我发现电影名都在p标签下的a标签里,所以我可以通过//p/a来匹配。我们已经知道了//p的含义,而再加一个/a代表在//p的结果下再找筛选a标签的内容 xpath表达式为://p//a ![20200213143512528.png][] ## ## ### 3.带属性值的匹配 ### 如果我们想匹配特定的一个内容,我们可以假如属性值。属性值的格式为:标签名\[@属性=“属性值”\],如图所示。如果我们想匹配title=“我和我的祖国”的电影名,xpath格式为://p/a\[@title="我和我的祖国"\] ![2020021314394571.png][] ![20200213143755348.png][] 以上的方式太局限了,经过分析,我们发下p标签上面一级是<div class="movie-item-info">。而div的下的p标签的class决定了输出什么类容。 如<p class="name"> 输出电影名 ![2020021314440724.png][] <p class="start">输出演员名单 ![20200213144311489.png][] ### 4.查看某标签下的第n个标签 ### 我们也可以通过\[n\]来决定要输出第几个标签的内容,不加\[n\]将输出所有内容。 ![20200213145040848.png][] p\[1\]输出电影名: ![20200213144752162.png][] p\[2\]输出演员表 ![20200213144811330.png][] ### 5.输出某标签的属性值 ### 如果我们想拿到a标签下的href属性值,按照常规思路可以写出xpath://div\[@class="movie-item-info"\]/p/a 但是这样只会拿到a标签下的内容,而不会拿到属性值。正确写法是为://div\[@class="movie-item-info"\]/p/a/@href 在a标签后在@属性名 ![20200213145257566.png][] 如下: ![20200213145223489.png][] ### 6.xpath常用函数 ### **1.contains():匹配属性值中包含某些字符串的节点** 如下面的例子,这里的id并不一样,那么我们获取的方式可以通过://li\[contains(@id,"car\_")\] <li id="car\_bw" >宝马</li> <li id="car\_byd" >比亚迪</li> **2.text():获取标签里的内容,作为字符串输出** ### 7.总结 ### **//代表从根节点向下找** **/代表从当前结点往下找** 比如//p匹配到根下的所有p标签,//p/a在从p标签下找a标签 **@的使用场景 :** 1)属性值作为条件 //p/a\[@title="我和我的祖国"\] 2)直接获取属性值 //div\[@class="movie-item-info"\]/p/a/@href **获取文本内容需要加text()** 比如//p/a,虽然会输出a标签下的文本内容,但是这个表达式是不严谨的,如果是想抓取a下的内容,最好写成://p/a/text() **element还是string:** 不加text()的情况或者不以@属性名结尾的情况下,返回的结果都是element,element是元素节点,如果你在python想将抓取的结果作为String输出,那么加上text()或@属性名 ## 七、链家二手房Python爬虫程序 ## ### 1.需求分析 ### 打开链家二手房首页:[https://sz.lianjia.com/ershoufang/][https_sz.lianjia.com_ershoufang] 我们将要提取的信息有房名,地址,详细信息,总价与单价。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 6][] 以下是链家二手房的第一页和第二页,分析发现一共100页(我选择是深圳二手房,可能不同地区页码数不一致) ![20200213213754197.png][] ![2020021321384816.png][] **结论:** 1.提取信息为:房名,地址,详细信息,总价与单价。 2.URl为:[https://sz.lianjia.com/ershoufang/pg页码数/][https_sz.lianjia.com_ershoufang_pg](页码数大于0小于101) ### 2.Xpath分析 ### 整个程序的核心在与Xpath分析。进入检查页面,我们发现所有信息都在ul标签下的li标签下。下面我们细节分析li标签 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 7][] li标签下有我们想要的房源信息,都在div之下,我们可以通过class属性值来获取内容。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 8][] 查看网页源码,经过观察,我们发现class属性值是变动的,当查看过这个房源信息后,class属性值将变为以下内容。分析原因,可能是因为鼠标滚动时候,触发JS动作,Js将class属性改变,目的是标记以阅读。所以我们以网页源码的class属性为准。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 9][] 下面开始分析Xpath如何写,第一步肯定是要获得当前页面下所有的li标签下的内容,我们发现ul的class和li的class都是一致的,所以Xpath://ul\[@class="sellListContent"\]/li\[@class="clear LOGVIEWDATA LOGCLICKDATA"\] ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 10][] 下面来验证结果: ![20200213215212893.png][] 获取到单页面下的所有房源信息后,进一步提取房名,地址,详细信息,房价。可以在房源信息的基础上进一步提取,如提取房名://ul\[@class="sellListContent"\]/li\[@class="clear LOGVIEWDATA LOGCLICKDATA"\]//div\[@class="positionInfo"\]/a/text() 虽然这样写并没有错,但是看上去颇为复杂,我们在python程序里不这么写。我们可以在房源信息的Xpath基础上,再提取房名信息,所以Xpath可以简写为:.//div\[@class="positionInfo"\]/a/text() 注意点号不能丢,而且是双斜杠。当前结点的根节点是li,所以.代表的是li ![20200213215510317.png][] 以下分析相对就容易很多了,我直接写结果 **1)所有房源信息** //ul\[@class="sellListContent"\]/li\[@class="clear LOGVIEWDATA LOGCLICKDATA"\] **2)房名** .//div\[@class="positionInfo"\]/a/text() **3)地址** .//div\[@class="positionInfo"\]/a\[2\]/text() **4)详细信息** .//div\[@class="houseInfo"\]/text() **5)总价** .//div\[@class="totalPrice"\]/text() **6)单价** .//div\[@class="unitPrice"\]/text() **提示:**看到下图,这是房子的详细信息,有的人可能会这么写Xpath:.//div\[@class="houseInfo"\]/span/text() 加入了一个span标签,其实在这里是多余的,因为div下面的所有内容都在span标签下,所以直接获取div下的所有内容即可。 ![20200213220520214.png][] ### 3.Python对Xpath的支持 ### python要使用Xpath,需要安装lxml模块,如果你使用的python编辑器,导入方式如下,在Terminal下输入python -m pip install lxml即可。如果是Linux系统,则在命令行输入sudo pip install lxml(提示:如果pip导入失败,则将pip改成pip3再次尝试) ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 11][] ## ## ### 4.Xpath的使用方式 ### **1) 导入模块** 如果你下载的是4.5或4.5以上的版本,导入模块方式为:from lxml import html 否则为:from lxml import etree **2)构建Xpath** 首先我们要获取一个html的响应文件,我使用的requests模块拿到的 rep=requests.get(url="https://sz.lianjia.com/ershoufang/pg1/",headers={"User-Aget":"Mozilla/5.0").text 拿到之后,我们要构建Xpath,方式如下: 4.5或以上:p=html.etree.HTML(rep) 4.5一下:p=etree.HTML(rep) **3)获取匹配内容** 构建完后,我们根据你写的xpath表达式就可以拿到匹配的内容,调用xpath()方法,返回类容为列表。 lists=p.xpath('//ul[@class="sellListContent"]/li[@class="clear LOGVIEWDATA LOGCLICKDATA"]') 也可以这么写: xpath\_regex='//ul\[@class="sellListContent"\]/li\[@class="clear LOGVIEWDATA LOGCLICKDATA"\]' lists=p.xpath(regex) ### 5.编写程序 ### 程序如下,程序内包含注释,阅读起来比较容易。一共3个函数,get\_html()核心函数,用于输出房源信息。run()函数为入口,调用这个函数来启动程序。\_\_init\_\_()初始化函数。 from UserAgent import agentPools from lxml import html from urllib import parse import requests import re import random import time class LianjiaSpider(object): #初始化url def __init__(self): self.url = "https://sz.lianjia.com/ershoufang/pg{}/" #核心函数 def get_heml(self,url): rep=requests.get(url,headers={"User-Aget":agentPools[random.randint(0,2)]}).text #开始解析,把lxml+Xpath表达式,将结果存入li_lists p=html.etree.HTML(rep) #li_lists是xpath匹配内容的结果集,保存了符合规则的信息 li_lists=p.xpath('//ul[@class="sellListContent"]/li[@class="clear LOGVIEWDATA LOGCLICKDATA"]') items={} for li in li_lists: #房名xpath,要判断是否为空,因为后续可能会做数据持久化处理,比如存入数据库 li_name=li.xpath('.//div[@class="positionInfo"]/a/text()') if li_name: items["name"]=li_name[0] else: items["name"] = None # 地址xpath li_address = li.xpath('.//div[@class="positionInfo"]/a[2]/text()') if li_address: items["address"] = li_address[0] else: items["address"] = None # 房子详细信息xpath li_info=li.xpath('.//div[@class="houseInfo"]/text()') if li_info: items["info"] = li_info[0] else: items["info"] = None # 房子总价 li_total = li.xpath('.//div[@class="totalPrice"]/text()') if li_total: items["total"] = li_total[0] else: items["total"] = None li_unitPrice = li.xpath('.//div[@class="totalPrice"]/text()') # 房子单价 if li_total: items["unitPrice"] = li_unitPrice[0] else: items["unitPrice"] = None # 打印结果 print(items) #入口函数 def run(self): #爬1到50页的房源信息 for pg in range(1,50): #将页码数嵌入url中 url=self.url.format(pg) #调用主方法 self.get_heml(url) #设置间隔,休眠0或1秒,目的是反爬 time.sleep(random.randint(0,1)) if __name__=="__main__": spider=LianjiaSpider() spider.run() **输出结果:** ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 12][] [https_www.w3.org_TR_xpath]: https://www.w3.org/TR/xpath/ [http_www.zdfans.com_html_27204.html]: http://www.zdfans.com/html/27204.html [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70]: https://img-blog.csdnimg.cn/20200213104135300.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 1]: https://img-blog.csdnimg.cn/20200213104230193.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [20200213104345974.png]: https://img-blog.csdnimg.cn/20200213104345974.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 2]: https://img-blog.csdnimg.cn/20200213104426483.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 3]: https://img-blog.csdnimg.cn/2020021310445892.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 4]: https://img-blog.csdnimg.cn/20200213104812562.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [20200213104925599.png]: https://img-blog.csdnimg.cn/20200213104925599.png [https_maoyan.com_board]: https://maoyan.com/board [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 5]: https://img-blog.csdnimg.cn/2020021314162988.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [20200213143037346.png]: https://img-blog.csdnimg.cn/20200213143037346.png [20200213143512528.png]: https://img-blog.csdnimg.cn/20200213143512528.png [2020021314394571.png]: https://img-blog.csdnimg.cn/2020021314394571.png [20200213143755348.png]: https://img-blog.csdnimg.cn/20200213143755348.png [2020021314440724.png]: https://img-blog.csdnimg.cn/2020021314440724.png [20200213144311489.png]: https://img-blog.csdnimg.cn/20200213144311489.png [20200213145040848.png]: https://img-blog.csdnimg.cn/20200213145040848.png [20200213144752162.png]: https://img-blog.csdnimg.cn/20200213144752162.png [20200213144811330.png]: https://img-blog.csdnimg.cn/20200213144811330.png [20200213145257566.png]: https://img-blog.csdnimg.cn/20200213145257566.png [20200213145223489.png]: https://img-blog.csdnimg.cn/20200213145223489.png [https_sz.lianjia.com_ershoufang]: https://sz.lianjia.com/ershoufang/ [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 6]: https://img-blog.csdnimg.cn/20200213213548131.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [20200213213754197.png]: https://img-blog.csdnimg.cn/20200213213754197.png [2020021321384816.png]: https://img-blog.csdnimg.cn/2020021321384816.png [https_sz.lianjia.com_ershoufang_pg]: https://sz.lianjia.com/ershoufang/pg1/ [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 7]: https://img-blog.csdnimg.cn/20200213214329769.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 8]: https://img-blog.csdnimg.cn/20200213214250649.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 9]: https://img-blog.csdnimg.cn/2020021321463471.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 10]: https://img-blog.csdnimg.cn/20200213215243125.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [20200213215212893.png]: https://img-blog.csdnimg.cn/20200213215212893.png [20200213215510317.png]: https://img-blog.csdnimg.cn/20200213215510317.png [20200213220520214.png]: https://img-blog.csdnimg.cn/20200213220520214.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 11]: https://img-blog.csdnimg.cn/20200213220903666.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3_size_16_color_FFFFFF_t_70 12]: https://img-blog.csdnimg.cn/20200213223450215.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NrNzg0MTAxNzc3,size_16,color_FFFFFF,t_70
相关 Python常用插件类举,lxml+Xpath实现爬虫,使用Xpath爬取链家二手房源信息 目录 一、XPath 二、XPath 常用规则 三、在谷歌浏览器安装XPath插件 四、Python爬虫常用插件 五、使用Xpath解析 六、Xpath匹配示例 缺乏、安全感/ 2023年07月05日 05:19/ 0 赞/ 33 阅读
相关 python爬虫之静态网页爬取--猫眼电影/链家二手房 猫眼电影(xpath) 目标 1、地址: 猫眼电影 - 榜单 - top100榜 2、目标: 电影名称、主演、上映时间 步骤 本是古典 何须时尚/ 2023年06月22日 08:25/ 0 赞/ 177 阅读
相关 python爬取自如网房源信息 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者: Star\_Zhao PS:如有 柔光的暖阳◎/ 2023年02月19日 12:22/ 0 赞/ 127 阅读
相关 用python爬取链家二手房信息,并把数据存入mongodb 爬取网站:[https://gz.lianjia.com/ershoufang/pg][https_gz.lianjia.com_ershoufang_pg] 爬取链家二手房 旧城等待,/ 2023年02月11日 04:42/ 0 赞/ 75 阅读
相关 Python爬虫新手入门教学(三):爬取链家二手房数据 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 Python爬虫、数据分析、网站开发等案例教程视频免费在线观 港控/mmm°/ 2023年01月11日 03:44/ 0 赞/ 340 阅读
相关 Python使用xpath实现图片爬取 更多编程教程请到:[菜鸟教程][Link 1] https://www.piaodoo.com/ 友情链接:[好看站][Link 2] http://www.nrso.net 柔情只为你懂/ 2022年12月22日 08:58/ 0 赞/ 264 阅读
相关 Python爬虫之链家二手房数据爬取 Python 依赖模块: requests parsel csv 功能要求: ![watermark_type_ZHJvaWRzYW5zZmFs 本是古典 何须时尚/ 2022年09月11日 07:23/ 0 赞/ 495 阅读
相关 Python爬虫-利用xpath解析爬取58二手房详细信息 文章目录 前言 介绍 代码 运行结果截图 前言 简单的Python练习,对页面中的某些部分的文字进行爬取 介绍 ![在这里插入图片 超、凢脫俗/ 2022年08月29日 10:43/ 0 赞/ 402 阅读
相关 爬取链家网所有二手房楼盘信息 代码如下: import requests from lxml import etree import math import time 缺乏、安全感/ 2022年02月04日 17:13/ 0 赞/ 544 阅读
还没有评论,来说两句吧...