- 获取下一页的链接
- 如果下一页有值,就发送下一页的请求,没有就什么都不做
# 只爬取 前5页
self.page += 1
if self.page > 4:
return
# 列表翻页
# 1. 取出 下一页 标签 的 URL 网址不齐全
next_url = response.xpath('//a[@class="pn-next"]/@href').extract_first()
# 2. 发送 下一页的请求 可以
if next_url: # 判断结束 如果 next_url 为none 就结束了
yield response.follow(
next_url,
callback=self.parse_book,
meta={'book': item}
)
这里常常会出现深拷贝和浅拷贝的问题,所以我们这里要用到一个函数deepcopy
所以我们要导入一个包:from copy import deepcopy
- 翻页代码的放置位置应该放在解析书籍信息里
到此翻页获取书籍信息基本完成: 因数据太多,此处爬取了5页每页2本书,其中价格已经成功获取到,接下来就是管道入库了