溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python爬蟲時(shí)提取數(shù)據(jù)后跟蹤到下一個(gè)鏈接報(bào)錯(cuò)怎么辦

發(fā)布時(shí)間:2021-08-09 13:48:08 來源:億速云 閱讀:195 作者:小新 欄目:編程語言

小編給大家分享一下python爬蟲時(shí)提取數(shù)據(jù)后跟蹤到下一個(gè)鏈接報(bào)錯(cuò)怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

解決方法:不要將“NoneType”連接到 str。這意味著該next_page變量沒有從response.xpath().get()上一行函數(shù)中提到的 xpath 中獲取任何值。沒有匹配的 xpath,因此get()返回None。

示例:

正在嘗試制作一個(gè)爬蟲,它可以從 SCP wiki 中獲取信息并跟蹤下一個(gè) SCP 的鏈接并繼續(xù)像這樣。使用當(dāng)前的代碼,從第一個(gè)跟蹤鏈接中提取數(shù)據(jù)后,爬蟲停止跟蹤到下一個(gè)鏈接。

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)

當(dāng)我運(yùn)行這個(gè)代碼時(shí),收到了以下錯(cuò)誤:

next_page = ' 
TypeError: can only concatenate str (not "NoneType") to str

當(dāng)出現(xiàn)以上錯(cuò)誤時(shí),可以使用本文開頭提到的解決方法進(jìn)行處理。

以上是“python爬蟲時(shí)提取數(shù)據(jù)后跟蹤到下一個(gè)鏈接報(bào)錯(cuò)怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI