Xpath在選擇器中正確,在代碼中返回的是空列表問題


一、問題:

在進行爬蟲的時候我們會用到xpath解析html文件,但是會有一種情況就是在xpath選擇器中可以使用,但是在代碼中就無法使用的情況。

 

二、原因:

1.是元素中有tbody的原因,這個元素是html生成時產生的,在使用xpath解析的時候無法解析,因此返回的列表為空值。

 

2.是因為沒有寫入獲取的內容。比如在xpath選擇其中可以使用但是在解析中沒有帶入//text()

 

三、解決辦法:

1.因此解決辦法便是刪除掉tbody這個標簽元素,因為它含有一個id的屬性,所以不能使用這個屬性。

 

2.解析中帶上//text()

1         content_text = ''.join(content.xpath('*//article[@class]/p[position()>2]//text()')).replace('\n', '').replace(' ', '')
2         time_ = ''.join(content.xpath('//*[@id="news-time"]//text()'))
3         origin = ''.join(content.xpath('//*[@id="user-info"]/h4/a//text()'))

 

 四、參考:

https://blog.csdn.net/SL_World/article/details/84893957


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM