成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python爬蟲(chóng)實(shí)戰(zhàn),requests模塊,Python實(shí)現(xiàn)抓取微博評(píng)論

jaysun / 2541人閱讀

摘要:前言利用實(shí)現(xiàn)抓取微博評(píng)論數(shù)據(jù),廢話不多說(shuō)。讓我們愉快地開(kāi)始吧開(kāi)發(fā)工具版本相關(guān)模塊模塊模塊模塊模塊模塊以及一些自帶的模塊。環(huán)境搭建安裝并添加到環(huán)境變量,安裝需要的相關(guān)模塊即可。

前言

利用Python實(shí)現(xiàn)抓取微博評(píng)論數(shù)據(jù),廢話不多說(shuō)。

讓我們愉快地開(kāi)始吧~

開(kāi)發(fā)工具

**Python版本:**3.6.4

相關(guān)模塊:

requests模塊;

re模塊;

pandas模塊;

lxml模塊;

random模塊;

以及一些Python自帶的模塊。

環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

思路分析

本文以爬取微博熱搜《霍尊手寫(xiě)道歉信》為例,講解如何爬取微博評(píng)論!

抓取評(píng)論

網(wǎng)頁(yè)地址

https://m.weibo.cn/detail/4669040301182509

網(wǎng)頁(yè)分析

微博評(píng)論是動(dòng)態(tài)加載的,進(jìn)入瀏覽器的開(kāi)發(fā)者工具后,在網(wǎng)頁(yè)上向下拉取會(huì)得到我們需要的數(shù)據(jù)包

得到真實(shí)URL

https://m.weibo.cn/comments/hotflow?id=4669040301182509&mid=4669040301182509&max_id_type=0https://m.weibo.cn/comments/hotflow?id=4669040301182509&mid=4669040301182509&max_id=3698934781006193&max_id_type=0

兩條URL區(qū)別很明顯,首條URL是沒(méi)有參數(shù)max_id的,第二條開(kāi)始max_id才出現(xiàn),而max_id其實(shí)是前一條數(shù)據(jù)包中的max_id

但有個(gè)需要注意的是參數(shù)max_id_type,它其實(shí)也是會(huì)變化的,所以我們需要從數(shù)據(jù)包中獲取max_id_type

代碼實(shí)現(xiàn)

import reimport requestsimport pandas as pdimport timeimport randomdf = pd.DataFrame()try:    a = 1    while True:        header = {            "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 UBrowser/4.0.3214.0 Safari/537.36"        }        resposen = requests.get("https://m.weibo.cn/detail/4669040301182509", headers=header)        # 微博爬取大概幾十頁(yè)會(huì)封賬號(hào)的,而通過(guò)不斷的更新cookies,會(huì)讓爬蟲(chóng)更持久點(diǎn)...        cookie = [cookie.value for cookie in resposen.cookies]  # 用列表推導(dǎo)式生成cookies部件        headers = {         # 登錄后的cookie, SUB用登錄后的            "cookie": f"WEIBOCN_FROM={cookie[3]}; SUB=; _T_WM={cookie[4]}; MLOGIN={cookie[1]}; M_WEIBOCN_PARAMS={cookie[2]}; XSRF-TOKEN={cookie[0]}",            "referer": "https://m.weibo.cn/detail/4669040301182509",            "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 UBrowser/4.0.3214.0 Safari/537.36"        }        if a == 1:            url = "https://m.weibo.cn/comments/hotflow?id=4669040301182509&mid=4669040301182509&max_id_type=0"        else:            url = f"https://m.weibo.cn/comments/hotflow?id=4669040301182509&mid=4669040301182509&max_id={max_id}&max_id_type={max_id_type}"        html = requests.get(url=url, headers=headers).json()        data = html["data"]        max_id = data["max_id"]  # 獲取max_id和max_id_type返回給下一條url        max_id_type = data["max_id_type"]        for i in data["data"]:            screen_name = i["user"]["screen_name"]            i_d = i["user"]["id"]            like_count = i["like_count"]  # 點(diǎn)贊數(shù)            created_at = i["created_at"]  # 時(shí)間            text = re.sub(r"<[^>]*>", "", i["text"])  # 評(píng)論            print(text)            data_json = pd.DataFrame({"screen_name": [screen_name], "i_d": [i_d], "like_count": [like_count], "created_at": [created_at],"text": [text]})            df = pd.concat([df, data_json])        time.sleep(random.uniform(2, 7))        a += 1except Exception as e:    print(e)df.to_csv("微博.csv", encoding="utf-8", mode="a+", index=False)print(df.shape)

效果展示

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/122995.html

相關(guān)文章

  • 首次公開(kāi),整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---35、 Ajax數(shù)據(jù)爬取

    摘要:所以說(shuō),我們所看到的微博頁(yè)面的真實(shí)數(shù)據(jù)并不是最原始的頁(yè)面返回的,而是后來(lái)執(zhí)行后再次向后臺(tái)發(fā)送了請(qǐng)求,拿到數(shù)據(jù)后再進(jìn)一步渲染出來(lái)的。結(jié)果提取仍然是拿微博為例,我們接下來(lái)用來(lái)模擬這些請(qǐng)求,把馬云發(fā)過(guò)的微博爬取下來(lái)。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---34、數(shù)據(jù)存儲(chǔ):非關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ):Redis下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---36、分析Ajax爬取今日頭條街拍美圖 ...

    Thanatos 評(píng)論0 收藏0
  • 23個(gè)Python爬蟲(chóng)開(kāi)源項(xiàng)目代碼,包含微信、淘寶、豆瓣、知乎、微博

    摘要:今天為大家整理了個(gè)爬蟲(chóng)項(xiàng)目。地址新浪微博爬蟲(chóng)主要爬取新浪微博用戶的個(gè)人信息微博信息粉絲和關(guān)注。代碼獲取新浪微博進(jìn)行登錄,可通過(guò)多賬號(hào)登錄來(lái)防止新浪的反扒。涵蓋鏈家爬蟲(chóng)一文的全部代碼,包括鏈家模擬登錄代碼。支持微博知乎豆瓣。 showImg(https://segmentfault.com/img/remote/1460000018452185?w=1000&h=667); 今天為大家整...

    jlanglang 評(píng)論0 收藏0
  • 零基礎(chǔ)如何學(xué)爬蟲(chóng)技術(shù)

    摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲(chóng)技術(shù)以供學(xué)習(xí),。本文來(lái)源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲(chóng)軟件定制開(kāi)發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲(chóng)技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲(chóng)學(xué)習(xí)系列教程(來(lái)源于某博主:htt...

    KunMinX 評(píng)論0 收藏0
  • Python定向爬蟲(chóng),模擬新浪微博登錄!

    摘要:當(dāng)我們?cè)噲D從新浪微博抓取數(shù)據(jù)時(shí),我們會(huì)發(fā)現(xiàn)網(wǎng)頁(yè)上提示未登錄,無(wú)法查看其他用戶的信息。三模擬登錄下面將介紹使用獲取新浪微博,然后使用提交從而實(shí)現(xiàn)模擬登錄。 當(dāng)我們?cè)噲D從新浪微博抓取數(shù)據(jù)時(shí),我們會(huì)發(fā)現(xiàn)網(wǎng)頁(yè)上提示未登錄,無(wú)法查看其他用戶的信息。模擬登錄是定向爬蟲(chóng)制作中一個(gè)必須克服的問(wèn)題,只有這樣才能爬取到更多的內(nèi)容。 showImg(https://segmentfault.com/img/...

    isaced 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<