- 獲取下一頁的鏈接
- 如果下一頁有值,就發送下一頁的請求,沒有就什麼都不做
# 只爬取 前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本書,其中價格已經成功獲取到,接下來就是管道入庫了