博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scrapy笔框架--通用爬虫Broad Crawls(中)
阅读量:5826 次
发布时间:2019-06-18

本文共 1214 字,大约阅读时间需要 4 分钟。

rules = (        Rule(LinkExtractor(allow=r'WebPage/Company.*'),follow=True,callback='parse_company'),        Rule(LinkExtractor(allow=r'WebPage/JobDetail.*'), callback='parse_item', follow=True),    )

Rule的参数用法

跟踪Rule代码看它的参数:

link_extractor, callback=None, cb_kwargs=None, follow=None, process_links=None, process_request=identity
  • link_extractor完成url的抽取,它就是交给CrawlSpider用
  • callback是回调函数
  • cb_kwargs是传递给link_extractor的参数
  • follow的意思是满足Rule规则的url是否跟进
  • process_links在Scrapy笔记--通用爬虫Broad Crawls(上)里面有代码演示,主要处理url
  • process_request可以对request进行预处理,就像process_links处理url一样,编写一个函数方法进行处理

LinkExtrator的参数用法,跟踪代码看参数:

allow=(), deny=(), allow_domains=(), deny_domains=(), restrict_xpaths=(),                 tags=('a', 'area'), attrs=('href',), canonicalize=False,                 unique=True, process_value=None, deny_extensions=None, restrict_css=(),                 strip=True
  • allow=(r'/jobs/\d+.html')中放置的是一个正则表达式,如果你满足正则,就对其进行提取
  • deny是allow的反向
  • allow_domains=(')是指在指定域名下的才进入处理
  • deny_domains是allow_domains的反向
    restrict_xpaths、restrict_css可以通过xpath或者css进一步限定url,比如当前页面有很多符合条件的url,但是我希望限定某个范围进行取值,则可以通过它来指定范围区域,如:
restrict_css('.jon-info')

是限定

<div class=jon-info>中间的范围</div>

  • tags=('a', 'area'), attrs=('href',)是指默认通过a标签和area标签找到里面的href

转载地址:http://lgsdx.baihongyu.com/

你可能感兴趣的文章
Java IO: RandomAccessFile
查看>>
桌面数据库绿色版
查看>>
android 国内工具集
查看>>
建筑效果图素材站SKALGUBBAR
查看>>
python gzip 压缩/解压缩 字符串
查看>>
Android framework系统默认设置修改
查看>>
android staticlayout使用讲解
查看>>
ecshop用户登录问题及ecshop购物车问题解决办法
查看>>
一个Servlet编码过滤器
查看>>
韩国Linux即相关软件镜像服务器
查看>>
jquery 或 js如何截取字符串
查看>>
Linux网络编程(第2版)
查看>>
修改grub2系统选择菜单等待时间(Debian 7)
查看>>
C++-成员指针
查看>>
C-pthread2
查看>>
yum挂载本地光盘镜像
查看>>
Linux下Sed命令的用法
查看>>
我的友情链接
查看>>
反lj邮件防火墙的核心技术分析1
查看>>
Android初学者的迷茫
查看>>