1、新建scarpy项目 打开cmd,切换到工作目录中
新建项目,命名为tutorial
scrapy startproject tutorial
2、创建新的爬虫任务
scrapy genspider example example.com
这里指的是爬取网站example.com,并将项目命名为example
3、写取数逻辑 以爬取quotes.toscrape.com为例,新建任务脚本quotes_spider.py, 逻辑写在quotes_spider.py 中。如提取网页内容:
4、运行
打开cmd,切换到该项目下,运行:
scrapy crawl quotes_spider
5、shell 提取数据 使用shell是为了帮助我们更好的利用xpath和css来获取数据。
注意:必须使用双引号
添加:: text , 是为了获取到<title>中的文本内容,extract() 用户提取数据
提取第一个结果或者结果
response.css('title::text').extract_first()
response.css('title::text')[0].extract()
注意:使用 **.extract_first()** 可以避免没有值的时候返回 **IndexError** 错误,同时返回 **None**
采用正则化提取,re()
使用xpath提取数据
将上面使用css或xpath处理的逻辑写入脚本,代码如下:
以存为json为例
<ul class="pager">
<li class="next">
<a href="/page/2/">Next <span aria-hidden="true">→</span></a>
</li>
</ul>
response.urljoin是将两个拼接起来,构成完整的链接
response.follow 支持相对链接方式