您好,登錄后才能下訂單哦!
小編給大家分享一下python爬蟲時提取數據后跟蹤到下一個鏈接報錯怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
解決方法:不要將“NoneType”連接到 str。這意味著該next_page變量沒有從response.xpath().get()上一行函數中提到的 xpath 中獲取任何值。沒有匹配的 xpath,因此get()返回None。
示例:
正在嘗試制作一個爬蟲,它可以從 SCP wiki 中獲取信息并跟蹤下一個 SCP 的鏈接并繼續像這樣。使用當前的代碼,從第一個跟蹤鏈接中提取數據后,爬蟲停止跟蹤到下一個鏈接。
import scrapyclass QuotesSpider(scrapy.Spider): name = "scp" start_urls = [ 'https://scp-wiki.wikidot.com/scp-002', ] def parse(self, response): for scp in response.xpath('//*[@id="main-content"]'): yield { 'title': scp.xpath('//*[@id="page-content"]/p[1]').get(), 'tags': scp.xpath('//*[@id="main-content"]/div[4]').get(), 'class': scp.xpath('//*[@id="page-content"]/p[2]').get(), 'scp': scp.xpath('//*[@id="page-content"]/p[3]').get(), 'desc': scp.xpath('//*[@id="page-content"]/p[6]').get(), } next_page = response.xpath('//*[@id="page-content"]/div[3]/div/p/a[2]/@href').get() next_page = 'https://scp-wiki.wikidot.com'+next_page print(next_page) next_page = response.urljoin(next_page) print(next_page) yield response.follow(next_page, callback=self.parse)
當我運行這個代碼時,收到了以下錯誤:
next_page = ' TypeError: can only concatenate str (not "NoneType") to str
當出現以上錯誤時,可以使用本文開頭提到的解決方法進行處理。
以上是“python爬蟲時提取數據后跟蹤到下一個鏈接報錯怎么辦”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。