创建项目
scrapy startproject 项目名字
创建爬虫
scrapy genspider -t crawl 爬虫名字 域
rules 规则属性的参数:是一个元阻,可以放多个Rule 对象
创建Rule:
LinkExtractor:设定提取的规则
(allow,deny,allow_dome...)
callback 设置回调函数
follwer 是否跟进
rules = (
allow:一般跟一个正则表达式,表示允许的url*********************
deny:表示一个正则表达式,符合正则表达式的链接,我们不链接,优先级比allow高
allowed_domains:提取额链接,必须在我设置的域下面
deny_domains:提取链接时,一定不能提取deny_domains设置的域下
restrict_xpaths:刚提取连接的时候我们可以定位到耨一些标签,提取标签下符合规则的链接********
tags:可以指定要提取那些标签
attrs:;;可以提取哪一属性
restrict_css:当提取连接时可以使用css语法 **************
process_links:设置一个函数,根据正则获取的url,可以在回调函数中获取到
process_request:设置一个函数,可以在这个回调方法中拦截所有根据正则规则提取到的url构建的Request对象
Rule(LinkExtractor(
allow=('.*?qwd=&p=\d+',),
deny=(),
allowed_domains=(),
deny_domains=(),
restrict_xpaths=(),
tags=(),
attrs=(),
restrict_css=()
),
注意:设置回调的时候一定不能重写parse方法
2、要活取起始url的响应结果,必须重写parse_start_url
3、在设置Rule对象的时候,如果没有callback回调函数,表示默认跟进
什么时候 会用到用用爬虫?
当提取数据的目标网站的网址很有规律,并且各个模块很清晰,我们就可以使用通用爬虫
网友评论