from scrapy.linkextractors import LinkExtractor
class scrapy.linkextractors.lxmlhtml.LxmlLinkExtractor(allow = (), deny = (), allow_domains = (), deny_domains = (), deny_extensions = None, restrict_xpaths = (), restrict_css = (), tags = ('a', 'area'), attrs = ('href', ), canonicalize = true, unique = true, process_value = None)
参数和说明 |
allow(正则表达式(或列表))
它允许单个表达式或一组表达式这应该与要提取的 url 匹配。如果没有提及,它将匹配所有链接。
|
deny(正则表达式(或列表))
它阻止或排除单个表达式或组应与不提取的 url 匹配的表达式。如果不提及或留空,则不会消除不需要的链接。
|
allow_domains (str or list)
它允许应该匹配域的单个字符串或字符串列表从中提取链接。
|
deny_domains(字符串或列表)
它阻止或排除应该匹配的单个字符串或字符串列表不提取链接的域。
|
deny_extensions (list)
它在提取链接时阻止带有扩展名的字符串列表。如果未设置,则默认设置为
IGNORED_EXTENSIONS,其中包含
scrapy.linkextractors 包中的预定义列表。
|
restrict_xpaths(str 或 list)
它是一个 XPath 列表区域,从中提取链接从响应。如果给定,链接将仅从 XPath 选择的文本中提取。
|
restrict_css (str or list)
它的行为类似于restrict_xpaths参数,它将从CSS中提取链接响应中的选定区域。
|
tags (str or list)
提取时应考虑的单个标签或标签列表链接。默认情况下,它将是 ('a', 'area').
|
attrs (list)
提取链接时应考虑单个属性或属性列表。默认情况下,它将是 ('href',).
|
canonicalize (boolean)
使用
scrapy.utils 将提取的 url 转换为标准形式。 url.canonicalize_url。默认情况下,它将是 True。
|
unique (boolean)
如果提取的链接重复,将使用它。
|
process_value(可调用)
这是一个从扫描的标签和属性中接收值的函数。收到的值可能会被更改并返回,否则将不会返回任何内容以拒绝链接。如果不使用,默认情况下它将是 lambda x: x。
|
<a href = "javascript:goToPage('../other/page.html'); return false">Link text</a>
def process_value(val): m = re.search("javascript:goToPage\('(.*?)'", val) if m: return m.group(1)