爬蟲爬取數據有時候我們需要爬取多個標籤的文本內容,或者需要保留標籤屬性,就要連同標籤一起拿下來。你可以寫正則,今天我介紹一種用xpath爬取的方法。
下邊第一種方法就可以連同HTML標籤一起爬下來,後兩種能爬取所有文本信息,但沒有了標籤屬性:
①
第一種方法可以取出某個標籤內的HTML字符串,包含各種標籤屬性,輸出的結果就是網頁正常顯示的文章部分的HTML。
html_content3 = requests.get(details_url).text
html = etree.HTML(html_content3)
# content=html.xpath('//div[@class="article-entry"]')[0].xpath('string(.)').strip()#得到其中的所有文本信息,但沒有了標籤屬性。
# 先取出包含文章主體的標籤
contents = html.xpath('//div[@class="article-entry"]')[0]
# 取出來的是個element對象,需要給他轉換成字符串
name1 = etree.tostring(contents, method='html')
# 轉成字符串後中文不能正常顯示,需要再對其進行解析
name2 = HTMLParser().unescape(name1.decode())
content = name2
②
welfare = response.xpath('//div[@class="t1"]').xpath('string(.)').extract()[0]
③
welfare = response.xpath('//div[@class="t1"]//text()').extract()[0]