码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-05-13 21:34:06      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:提取   除了   函数名   表达式   文件   wls   from   extra   工程项目   

创建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框架的全站数据爬取

标签:提取   除了   函数名   表达式   文件   wls   from   extra   工程项目   

原文地址:https://www.cnblogs.com/jayxuan/p/10841381.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!