① 使用python爬蟲時,遇到多頁,需要翻頁,下一頁時怎麼處理
例子如下:
item1 = Item()
yield item1
item2 = Item()
yield item2
req = Request(url='下一判亮頁尺搜的鏈接', callback=self.parse)
yield req
注意:使用yield時不要用return語句。掘困寬
② 學python,寫了個函數獲取這個網站當前板塊下一頁地址,我再怎麼循環調用這個函數去獲取後10頁的地址呢
用while true無限循環先判斷是否有下一頁,如果有則繼續調用get_next_pages方判好法,如果沒有則跳出掘激鉛循環
url = "鉛虧第一頁網址"
while true:
next_page =get_next_pages(url)
if next_page:
get_next_pages(next_page)
else:
break
③ Python爬蟲怎麼獲取下一頁的URL和網頁內容
用瀏覽器調試工具,如firebug,查看點擊下一頁時的http請求,再用python模擬就行了。
④ python爬蟲怎麼獲取下一頁的url
首先,你得了解那個網站的每一手凳頁是怎麼區分的。例如第畢物旅一頁他顯示為input-1.html,第二頁顯示為input-2.html 第三頁顯示為input-3.html 找到網站每一頁的規律,然後循環即可。
我這里給你一個抓取博客內螞山容的簡單例子,你自己看看。
⑤ 如何在scrapy框架下,用python實現爬蟲自動跳轉頁面來抓去網頁內容
(1)一種是像我之前爬蟲新京報網的新聞,下一頁的url可以通過審查元素獲得,第一頁的網址是http://www.bjnews.com.cn/news/list-43-page-1.html
在第一頁的時候,下一頁按鈕的審查元素是
我們通過獲取next_pages = response.xpath('//div[@id="page"]/a[@class="next"]/@href').extract()[0]
,便可以得到下一頁的url,next_page = "http://www.bjnews.com.cn" + next_pages,
這一部分的完整代碼為:
page_link=set() #保存下一頁頁面url
content_link=set() #保存頁面內所有可獲得的url
rules={'page':LinkExtractor(allow=(r'^http://www.bjnews.com.cn/\w+/2016/\d{2}/\d{2}/\d{6}.html
))}
start_urls={'http://www.bjnews.com.cn/news/list-43-page-1.html'}
def parse(self, response):
#爬取一個頁面內的所有url鏈接
for link in self.rules['page'].extract_links(response):
if link.url not in self.content_link:
self.page_link.add(link.url)
yield scrapy.Request(link.url, callback=self.parse_item)
#自動獲取下一頁的url
next_pages = response.xpath('//div[@id="page"]/a[@class="next"]/@href').extract()[0]
if next_pages:
next_page = "http://www.bjnews.com.cn" + next_pages
self.page_link.add(next_page)
yield scrapy.Request(next_page, callback=self.parse)
(2)第二種情況,就是在下一頁的審查元素中沒有提供url鏈接,需要自己分析,在這里依然舉個例子,比如搜狐新聞http://news.sohu.com/guojixinwen.shtml,該頁中下一頁按鈕的審查元素是:
我們不能通過href來直接過得下一頁的url,需要自己手動獲得,那現在我們來分析
第二頁的url:http://news.sohu.com/guojixinwen_5230.shtml,第三頁的http://news.sohu.com/guojixinwen_5229.shtml,最後一頁的http://news.sohu.com/guojixinwen_5132.shtml,由此可以分析出這一共100頁的url,是http://news.sohu.com/guoneixinwen_"+i+".shtml",其中i是從5230到5132倒序排列的,也就是說通過for循環,就可以獲得這100頁的所有url,完整代碼如下:在這里給大家加一個新的方法的使用start_request,該方法就是子定義start_urls,把所有自定義的url放到page_link中,self.make_requests_from_url方法會自動獲取裡面的請求
⑥ python爬蟲怎麼知道最後一頁
用過的幾種方法唯桐:
1. 正則匹配"下一頁"對應的標簽,取出其中的url;
2. 搜索下一頁的url對應的標簽;
3. 第二種方法加一個紀錄,如果取出並穗一排的最後指蔽坦一個URL發現是取過的就停止。