首页 > 编程知识 正文

第六章 使用LinkExtractor 提取链接,网盘资源链接怎么使用

时间:2023-05-05 18:48:52 阅读:287065 作者:4254

使用LinkExtractor 提取链接

提取链接的两种方法:

SelectorLinkExtractor

之前的代码是使用的Selector,这里就不再做介绍了,开始LinkExtractor的学习

1.使用LinkExtractor

from scrapy.linkextractors import LinkExtractor# 提取链接 # 下一页的url在 ul.pager > li.next > a 里面 # next_url = response.css('ul.pager li.next a::attr(href)').extract_first() # if next_url: # # 如果找到下一页的url,得到绝对路径,构造新的Response对象 # next_url = response.urljoin(next_url) # yield scrapy.Request(next_url, callback=self.parse) le = LinkExtractor(restrict_css='ul.pager li.next') links = le.extract_links(response) if links: next_url = links[0].url yield scrapy.Request(next_url,callback=self.parse) 描述提取规则

LinkExtractor构造器参数:

allow
接收一个正则表达式或一个正则表达式列表,提取绝对url与正则表达式匹配的链接。如果该参数为空(默认),就提取全部链接。

deny

接收一个正在则表达式或一个正则表达式列表,与allow相反,排除绝对url与正则表达式匹配的链接。

allow_domains

接收一个域名或一个域名列表,提取到指定域的链接

deny_domains

猜到了吧,与allow_domains相反,排除指定域的链接

restrict_paths

接收一个XPath表达式或一个XPath表达式列表,提取XPath表达式选中区域下的链接

restrict_css

接收一个CSS选择器或一个CSS选择器列表,提取CSS选择器选中区域下的链接

tags

接收一个标签/标签列表,提取指定标签内的链接,默认为 ['a','area']

attrs

接收一个属性/属性列表,提取指定属性内的链接,默认为 ['href']

process_value

接收一个形如func(value)的回调函数,如果传递了该参数,LinkExtractor将调用该回调函数对提取的每一个链接进行处理,回调函数正常情况下应返回一个字符串,想要抛弃所处理的链接时,返回None

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。