赞
踩
回顾之前的代码中,我们有很大一部分时间在寻找下一页的url地址或者是内容的url地址上面,这个过程能更简单一些么?
对应的crawlspider就可以实现上述需求,能够匹配满足条件的url地址,组装成Reuqest对象后自动发送给引擎,同时能够指定callback函数
即:crawlspider爬虫可以按照规则自动获取连接
scrapy genspider -t crawl job 163.com
class JobSpider(CrawlSpider):
name = 'job'
allowed_domains = ['163.com']
start_urls = ['https://hr.163.com/position/list.do']
rules = (
Rule(LinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),
)
def parse_item(self, response):
i = {}
#i['domain_id'] = response.xpath('//input[@id="sid"]/@value').extract()
#i['name'] = response.xpath('//div[@id="name"]').extract()
#i['description'] = response.xpath('//div[@id="description"]').extract()
return i
在crawlspider爬虫中,没有parse函数
通过crawlspider爬取网易招聘的详情页的招聘信息
url:https://hr.163.com/position/list.do
scrapy genspider -t crawl <爬虫名> <allowed_domail>
创建一个crawlspider的模板,页可以手动创建链接提取器LinkExtractor的更多常见参数
['hr.tencent.com', 'baidu.com']
restrict_xpaths='//div[@class="pagenav"]'
Rule常见参数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。