- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
手把手教你使用XPath爬取免费代理IP
XPath是XML路径言语(XML Path Language);
XPath 使用路径表达式在 XML 文档中进行导航;
XPath 包含一个标准函数库;
XPath 是 XSLT 中的次要元素;
XPath 是一个 W3C 标准;
XPath作用是什么?
XPath用来确定XML文档中某部分位置的言语
XPath在XML文档中查找信息的言语
XPath用于在XML文档中通过元素和属性进行导航。
XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值、日期和时间比较、节点和 QName 处理、序列处理、规律值等等。在Python爬虫中,我们完成可以使用XPath来做相应的信息抽取。
XPath——常用规章
简约了解一下XPath后,我们来看看它的常用规章,如下表:
表达式
描述
nodename
选取此节点的全部子节点
/
从根节点选取
//
从婚配选择的当前节点选择文档中的节点,而不考虑它们的位置
.
选取当前节点
..
选取当前节点的父节点
@
选取属性
我们来简约说一个示例:
//title[@*]
这就是一个XPath规章,它代表选择选取全部带有属性的 title 元素。
好了,或许了解了XPath的常用规章和用法了,我们来添加一个Chrome扫瞄器的小插件——XPath Helper,这个小插件可以大大提高了我们使用XPath的效率。
XPath Helper的添加与使用
XPath Helper的添加
首先打开Chrome商店搜索XPath Helper,如下图所示:
点击方框2,将插件添加至Chrome中,如下图所示:
这里我们推举点击下图的小图钉,更便利我们使用XPath Helper插件
这样XPath Helper插件就添加完毕了,接下来我们简约演示一下如何使用该插件。
XPath Helper的使用
首先我们打开今日要爬取的快代理网站并打开开发者工具,找到我们要爬取内容的节点,如下图所示:
然后打开我们添加的插件,并输入XPath规章,如下图所示:
我们依据了table节点信息,来构造了XPath规章,输入XPath法规可以直接看到前往的是什么,这样我们就不需要每构成一次就在程序里运转看看能不能前往我们想要的值,这样大大提高我们的效率。
实战演练
爬取首页
我们首先打开快代理免费代理网站并打开开发者工具,如下图所示:
通过观看可以发觉,页面的URL最终的那个数字就是页码,也就是我们进行翻页的重要参数,这里我们使用了page变量为我们翻页的参数,具体代码如下:
headers={????User-Agent:Mozilla/5.0?(Windows?NT?10.0;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/91.0.4472.106?Safari/537.36}def?get_page(page):????url=/free/inha/+str(page)????response=requests.get(url,headers=headers)????#数据类型转换????html?=?parsel.Selector(response.text)????parse_page(html)
首先我们构造了一个恳求头,然后定义了一个get_page()方法,这里要留意的是,当我们猎取了恳求页面的文本数据时,要进行数据类型的转换,转换为XPath可以查找信息的HTML文本,也就是创建了一个parsel.Selector对象,转换后,我们就调用parse_page()方法,并传入html参数。
XPath规章提取内容
我们已经成功提取了网页的HTML文本,接下来我们开头利用XPath规章来提取想要的内容,首先我们要确定XPath规章提取内容的范围,如下图所示:
从图中我们可以看到table节点里包含我们要提取内容,然后我们使用XPath Helper插件来便利我们确定能否能精确?????提取目标内容,如下图所示:
图中的方框就是我们要提取内容的范围,确定范围后,我们确定提取内容对应的XPath规章,如下图所示:
好了,我们成功提取到了IP地址,经过观看,我们只需把图中左上角的方框中IP改为PORT,这样就可以提取到了端口号了,具体实现代码如下:
def?parse_page(html):????#XPath的婚配范围????parse_list?=?html.xpath(//table[@class=table?table-bordered?table-striped]/tbody/tr)????for?tr?in?parse_list:????????pa
文档评论(0)