运行环境:
* Python 2.7.12
* Scrapy 1.2.2
* Mac OS X 10.10.3 Yosemite
继续爬取Scrapy 1.2.2文档提供的练习网址:
可以暂时不用考虑爬虫被封的情况,用于初级爬虫练习。
目标
爬取该网站所有页的名言(quote)、作者(author)以及标签(tag)。
增加内容
response.urljoin():将相对网址拼接成绝对网址。
scrapy.Request():发出请求。可以用参数(callback=),对返回的响应(response)进行解析。
步骤1:增加爬虫代码
继续使用极简爬虫中的代码,增加三行内容即可。但是更改了爬虫的名字(name),变成name = 'quotes_2_2',用以区分第一个爬虫。
next_page = response.css('li.next a::attr("href")').extract_first()
next_full_url = response.urljoin(next_page)
yield scrapy.Request(next_full_url, callback=self.parse)
完整代码如下:
import scrapy
class QuotesSpider(scrapy.Spider):
name = 'quotes_2_2'
start_urls = [
'http://quotes.toscrape.com'