前面写过用xpath 方式定位response对象中我们所需要的超链接地址,但如果超链接过多且位置规律性差就不太方便了,现在介绍一种快速提取和过滤超链接地址的方法
1.明确需求
查看豆瓣图书中首页中所有图书的超链接,先看首页长这样的
然后随便点击一本数,进入图书的详情页,是这样的
此时我们查看下浏览器的url地址,是https://book.douban.com/subject/35166573/?icn=index-latestbook-subject,这个就是我们要抓取的地址。
2. 创建爬虫
可以用scrapy genspider命令创建爬虫,创建后修改类的参数,将自动生成的继承 scrapy.Spider 改为 CrawlSpider,这样用自定义的方法接收request请求
from scrapy.spiders import CrawlSpider
class