Scrapy笔框架--通用爬虫Broad Crawls(中)

简介: rules = ( Rule(LinkExtractor(allow=r'WebPage/Company.*'),follow=True,callback='parse_company'), Rule(LinkExtractor(allow=r'WebPage/JobDetail.
+关注继续查看
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=('www.lagou.com')是指在指定域名www.lagou.com下的才进入处理
  • 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

目录
相关文章
|
14天前
|
数据采集 中间件 Shell
Python爬虫深度优化:Scrapy库的高级使用和调优
在我们前面的文章中,我们探索了如何使用Scrapy库创建一个基础的爬虫,了解了如何使用选择器和Item提取数据,以及如何使用Pipelines处理数据。在本篇高级教程中,我们将深入探讨如何优化和调整Scrapy爬虫的性能,以及如何
|
20天前
|
数据采集 JSON 前端开发
Python爬虫进阶:使用Scrapy库进行数据提取和处理
在我们的初级教程中,我们介绍了如何使用Scrapy创建和运行一个简单的爬虫。在这篇文章中,我们将深入了解Scrapy的强大功能,学习如何使用Scrapy提取和处理数据。
|
28天前
|
数据采集 存储 中间件
|
29天前
|
数据采集 数据处理 Python
Python爬虫基础:使用Scrapy库初步探索
Scrapy是Python中最流行的网页爬虫框架之一,强大且功能丰富。通过Scrapy,你可以快速创建一个爬虫,高效地抓取和处理网络数据。在这篇文章中,我们将介绍如何使用Scrapy构建一个基础的爬虫。
|
3月前
|
数据采集 JSON API
Scrapy爬虫模拟登陆参考demo
Scrapy爬虫模拟登陆参考demo
|
4月前
|
数据采集 Python
python爬虫:scrapy框架SelectorList.extract()和SelectorList.extract_first()的区别
python爬虫:scrapy框架SelectorList.extract()和SelectorList.extract_first()的区别
|
5月前
|
数据采集 XML 前端开发
Python爬虫:scrapy内置网页解析库parsel-通过css和xpath解析xml、html
Python爬虫:scrapy内置网页解析库parsel-通过css和xpath解析xml、html
85 0
|
5月前
|
数据采集 数据可视化 应用服务中间件
Python爬虫:scrapy从项目创建到部署可视化定时任务运行
Python爬虫:scrapy从项目创建到部署可视化定时任务运行
213 0
Python爬虫:scrapy从项目创建到部署可视化定时任务运行
|
7月前
|
数据采集 存储 前端开发
|
数据采集 前端开发 数据可视化
spider-admin-pro 一个集爬虫Scrapy+Scrapyd爬虫项目查看 和 爬虫任务定时调度的可视化管理工具
spider-admin-pro 一个集爬虫Scrapy+Scrapyd爬虫项目查看 和 爬虫任务定时调度的可视化管理工具
454 0
spider-admin-pro 一个集爬虫Scrapy+Scrapyd爬虫项目查看 和 爬虫任务定时调度的可视化管理工具
相关产品
云迁移中心
推荐文章
更多