通用爬虫

link_extractor是一个Link Extractor对象,用于定义需要提取的链接
callback从link_extractor中每获取到链接得到Responses时,会调用参数所指定的值作为回调函数,该回调函数接收一个response作为其一个参数
follow是一个布尔(boolean)值,指定了根据该规则从response提取的链接是否需要跟进(这里的跟进是指是否除了当前页面继续爬取)
process_links指定spider中哪个的函数将会被调用,从link_extractor中获取到链接列表时将会调用该函数。该方法主要用来过滤
process_request指定处理函数,根据该Rule提取到的每个Request时,该函数将会被调用,可以对Request进行处理,该函数必须返回Request或者None
LinkExtractors 是用来提取链接,这是一个正则表达式根据正则表达式进行匹配,如果为空则会匹配所有的链接
allowed_domains = ['××××××']这里写到的是允许爬取的域
start_urls = ['×××××××××××××××××××××']这里写的是爬取的起始的url
callback是设置回调函数解析数据用的
follow设置的是否跟进
settings设置
ROBOTSTXT_OBEY = False 设置为false表示不遵守robot规则,如果设置为true则表示遵守robot
DOWNLOAD_DELAY = 3表示设置下载延迟
设置全局的Header:DEFAULT_REQUEST_HEADERS = {
'××××××××××××××××××××××××××××××××××××××××××××',
}这里设置的是全局的UA
ITEM_PIPELINES = {
'×××××××××××××××××××××××××××××××××,
}这里是激活pipelines数据处理管道
第二个方式:
编写main.py文件执行
以下举个栗子
import os,sys
from scrapy.cmdline import execute

sys.path.append(o由于CrawlSpider使用parse方法来实现其逻辑,如果覆盖了 parse方法,crawl spider将会运行失败s.path.dirname(os.path.abspath(file)))
execute(['scrapy','crawl','xcfcrawlspider'])

提取匹配的链接

page_lx = LinkExtractor(allow = ('匹配规则'))

rules = [
提取匹配,并使用spider的parse方法进行分析;并跟进链接没有callback意味着follow默认为True
Rule(page_lx, callback = 'parse', follow = True)
]
记住 callback 千万不能写 parse,由于CrawlSpider使用parse方法来实现其逻辑,如果覆盖了 parse方法,crawl spider将会运行失败

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 通用爬虫(Broad Crawls)介绍 [传送:中文文档介绍],里面除了介绍还有很多配置选项。 通用爬虫一般有以...
    中乘风阅读 4,545评论 0 2
  • scrapy学习笔记(有示例版) 我的博客 scrapy学习笔记1.使用scrapy1.1创建工程1.2创建爬虫模...
    陈思煜阅读 14,366评论 4 46
  • 『笑靥书舍』 前序 壹. 我名谓素卿,小字卿卿。 记忆中总有一人,温温柔柔地唤我卿卿,可那个人,终究是不在了。 言...
    怅遥思绾阅读 2,761评论 0 0
  • 1、家里电脑总是热的,开水总是凉的;她的眼圈总是黑的,眼珠总是白的;我的白袜子总是花的。 2、她去商场订购的电饭锅...
    野狐馋师阅读 884评论 0 0
  • 时光匆匆,转眼一周又过去了,这一周我也经历了许多,学到了很多的东西,也许是美好的。 这一周,让我印象最深刻的,也就...
    百合花岳文清阅读 1,846评论 0 0