python爬蟲實戰(2) 爬取知乎熱榜內容

2021-10-11 16:36:34 字數 1833 閱讀 3054

二、python**實現

三、最終結果

response = requests.get(url, headers=headers)

text = response.text

html = etree.html(text)

#構造乙個xpath解析物件並對html文字進行自動修正。

number = question.xpath(

"./div[@class='hotitem-index']//text()")[

0].strip(

)#問題index

title = question.xpath(

".//h2[@class='hotitem-title']/text()")[

0].strip(

)#問題標題

href = question.xpath(

"./div[@class='hotitem-content']/a/@href")[

0].strip(

)#問題鏈結

question_num = href.split(

'/')[-

1]#取切割的最後一塊,即問題id

import requests

from lxml import etree

headers=

url =

''defget_question_num

(url,headers)

: response = requests.get(url, headers=headers)

text = response.text

html = etree.html(text)

#構造乙個xpath解析物件並對html文字進行自動修正。

reslut = html.xpath(

"//section[@class='hotitem']"

)#選取所有section子元素,不管位置

question_list =

#問題列表(問題id,問題標題)

for question in reslut[0:

10]:#獲取熱榜前十

number = question.xpath(

"./div[@class='hotitem-index']//text()")[

0].strip(

)#問題index

title = question.xpath(

".//h2[@class='hotitem-title']/text()")[

0].strip(

)#問題標題

href = question.xpath(

"./div[@class='hotitem-content']/a/@href")[

0].strip(

)#問題鏈結

question_num = href.split(

'/')[-

1]#取切割的最後一塊,即問題id

[question_num, title]

)print

(number,

'\n'

,title,

'\n'

,href)

return question_list

get_question_num(url,headers)

cookie和user-agent用自己的吧。

python動態爬取知乎 python爬取微博動態

在初學爬蟲的過程中,我們會發現很多 都使用ajax技術動態載入資料,和常規的 不一樣,資料是動態載入的,如果我們使用常規的方法爬取網頁,得到的只是一堆html 沒有任何的資料。比如微博就是如此,我們可以通過下滑來獲取更多的動態。對於這樣的網頁該如何抓取呢?我們以微博使用者動態為例,抓取某名使用者的文...

puppeteer爬取知乎答案列表爬蟲

知乎應該很多人沒事的時候都會去看,畢竟知乎上平均年收入幾十萬,日常出國.哈哈 聽朋友說,今天閒來無事寫了乙個爬取知乎答案列表的爬蟲.當然知乎有營養的內容還是很多的 之前寫過一次抓答案列表介面的爬蟲,感覺不太好,還得找每個問題的請求介面,這次使用puppeteer來通過頁面顯示內容抓取 puppete...

Python爬取知乎溫酒小故事

關於登陸的問題,可以參考我的另一篇部落格 在這裡記錄一下我在爬取溫酒小故事的時候遇到的問題以及解決辦法 css選擇器無效,只好通過觀察,用正規表示式直接從html裡提取資訊。import requests from bs4 import beautifulsoup import re from ur...