scrapy分頁爬取

這里需要在瀏覽器里面先獲取到下一頁按鈕的地址,這里我試用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)了分頁的爬取。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容