使用 crawl模板实现
scrapy genspider -t crawl books3 books.toscrape.com
初始化的文件内容
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
class Books3Spider(CrawlSpider):
name = 'books3'
allowed_domains = ['books.toscrape.com']
start_urls = ['http://books.toscrape.com/']
rules = (
Rule(LinkExtractor(allow=r'Items/'), callback='parse_item', follow=True),
)
def parse_item(self, response):
item = {}
#item['domain_id'] = response.xpath('//input[@id="sid"]/@value').get()
#item['name'] = response.xpath('//div[@id="name"]').get()
#item['description'] = response.xpath('//div[@id="description"]').get()
return item
crawl模板通过Rule来管理我们提取得url链接
通过LinkExtractor来提取url
通过callback来回调数据提取方法,使用了callback后不会跟踪已经抽取的url,如果你需要,要在callback调用的方法进行返回,或使用follow将参数设为True
这里我们是用来一个新的类LinkExtractor
这是一个用来获取链接的类
下一篇具体介绍用法
LinkExtractor的使用:LinkExtractor使用