這里需要在瀏覽器里面先獲取到下一頁按鈕的地址,這里我試用xpath,還是比較方便的。
打開開發(fā)者工具,然后選中下一頁按鈕,右鍵 Copy - Copy XPath

然后在可以在chrome中安裝xpath插件來驗證

這樣可以取出點擊下一頁的js方法,然后在頁面源碼中找到js調用的方法,這里js直接傳入?yún)?shù)提交form表單,scrapy中也需要提交form表單,具體代碼如下:
def parse(self, response):
????baseUrl = 'http://zc.xatrm.com' selector = Selector(response)
????links = selector.xpath('//*[@id="listForm"]/div/div/div/div[1]/div/a/@href').extract()
????for link in links:
????????url = baseUrl + link
????????yield Request(url, callback=self.parse_news_detail)
????## 是否有下一頁
????next_pages = selector.xpath('//*[@id="listForm"]/nav/ul/li[@class="pagat pagt-next"]/a/@onclick').extract()
????if next_pages:
????????page_url = "http://zc.xatrm.com/front_policy/list.action"
????????begin = next_pages[0][next_pages[0].find("(") + 1 : next_pages[0].find(",")]
????????length = next_pages[0][next_pages[0].find(",") + 2 : next_pages[0].find(")")]
????????#POST提交請求參數(shù)
????????form_data = {"begin":begin, "length":length}
????????#FormRequest提交form表單
????????yield FormRequest(page_url, formdata=form_data)
scrapy中其他方法不動,這樣就實現(xiàn)了分頁的爬取。