基于Scrapt框架的全站数据爬取

Posted jayxuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Scrapt框架的全站数据爬取相关的知识,希望对你有一定的参考价值。

创建scrapy工程项目,除了爬虫文件中的代码需要略微修改,其他模块用法相同(如中间件,管道等);

爬虫文件代码流程

导入链接提取器

from scrapy.linkextractors import LinkExtractor

导入规则解析器

from scrapy.spiders import CrawlSpider,Rule

 

1、使爬虫文件中的类不在继承scrapy.Spider,而是CrawlSpider

2、起始URL一样

3、定义链接提取规则,基于正则表达式

  link = LinkExteactor(allow = ‘r‘所需的正则表达式")

  link2 = LinkExteactor(allow = ‘r‘所需的正则表达式")

  框架会自动请求起始URL,并将页面返回给链接提取器,链接提取器通过正则表达式提取匹配的URL;

  

4、定义规则解析器

  rules = (

    Rule(link(链接提取器名称),callback="回调函数名称",follew=True),

    Rule(link2(链接提取器名称),callback="回调函数名称",follew=False),  

  )

  follew参数表示,是否在link获取到的链接内继续获取link中要匹配的链接

  框架会自动让规则解析器去请求链接提取器提取到的链接,并返回页面交给回调函数,回调函数,用来编写解析数据的代码;

5、编写回调函数解析数据

  def parse_one(self,response):

    print(response)

 

  def parse_two(self,response):

    print(response)

 

以上是关于基于Scrapt框架的全站数据爬取的主要内容,如果未能解决你的问题,请参考以下文章

值得收藏的Python第三方库

scrapy 全站数据爬取

基于scrapy中---全站爬取数据----CrawlSpider的使用

基于scrapy框架的爬虫

爬虫 + 数据分析 - 7 CrawlSpider(全站爬取), 分布式, 增量式爬虫

CrawlSpider