欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用Python爬取指定關(guān)鍵詞的微博

 更新時(shí)間:2021年11月16日 10:10:57   作者:志斌  
這篇文章主要介紹了用Python爬取指定關(guān)鍵詞的微博,下面文章圍繞Python爬取指定關(guān)鍵詞的微博的相關(guān)資料展開(kāi)詳細(xì)內(nèi)容,需要的朋友可以參考一下

前幾天學(xué)校一個(gè)老師在做微博的輿情分析找我?guī)退阋粋€(gè)用關(guān)鍵字爬取微博的爬蟲(chóng),再加上最近很多讀者問(wèn)志斌微博爬蟲(chóng)的問(wèn)題,今天志斌來(lái)跟大家分享一下。

一、分析頁(yè)面

我們此次選擇的是從移動(dòng)端來(lái)對(duì)微博進(jìn)行爬取。移動(dòng)端的反爬就是信息校驗(yàn)反爬蟲(chóng)的cookie反爬蟲(chóng),所以我們首先要登陸獲取cookie。

登陸過(guò)后我們就可以獲取到自己的cookie了,然后我們來(lái)觀察用戶是如何搜索微博內(nèi)容的。

平時(shí)我們都是在這個(gè)地方輸入關(guān)鍵字,來(lái)進(jìn)行搜索微博。

我通過(guò)在開(kāi)發(fā)者模式下對(duì)這個(gè)頁(yè)面觀察發(fā)現(xiàn),它每次對(duì)關(guān)鍵字發(fā)起請(qǐng)求后,就會(huì)返回一個(gè)XHR響應(yīng)。

我們現(xiàn)在已經(jīng)找到數(shù)據(jù)真實(shí)存在的頁(yè)面了,那就可以進(jìn)行爬蟲(chóng)的常規(guī)操作了。

二、數(shù)據(jù)采集

在上面我們已經(jīng)找到了數(shù)據(jù)存儲(chǔ)的真實(shí)網(wǎng)頁(yè),現(xiàn)在我們只需對(duì)該網(wǎng)頁(yè)發(fā)起請(qǐng)求,然后提取數(shù)據(jù)即可。

1、發(fā)起請(qǐng)求

通過(guò)對(duì)請(qǐng)求頭進(jìn)行觀察,我們不難構(gòu)造出請(qǐng)求代碼。

代碼如下:

key = input("請(qǐng)輸入爬取關(guān)鍵字:")
for page in range(1,10):
   params = (
       ('containerid', f'100103type=1&q={key}'),
       ('page_type', 'searchall'),
       ('page', str(page)),
   )

   response = requests.get('https://m.weibo.cn/api/container/getIndex', headers=headers, params=params)



2、提取數(shù)據(jù)

從上面我們觀察發(fā)現(xiàn)這個(gè)數(shù)據(jù)可以轉(zhuǎn)化成字典來(lái)進(jìn)行爬取,但是經(jīng)過(guò)我實(shí)際測(cè)試發(fā)現(xiàn),用正則來(lái)提取是最為簡(jiǎn)單方便的,所以這里展示的是正則提取的方式,有興趣的讀者可以嘗試用字典方式來(lái)提取數(shù)據(jù)。

代碼如下:

r = response.text
title = re.findall('"page_title":"(.*?)"',r)
comments_count = re.findall('"comments_count":(.*?),',r)
attitudes_count = re.findall('"attitudes_count":(.*?),',r)
for i in range(len(title)):
   print(eval(f"'{title[i]}'"),comments_count[i],attitudes_count[i])

在這里有一個(gè)小問(wèn)題要注意,微博的標(biāo)題是用Unicode編碼的,如果直接爬取存儲(chǔ),將存儲(chǔ)的是Unicode編碼,在這里要感謝大佬—小明哥的幫助,志斌在網(wǎng)上搜了好多解決方法都沒(méi)有成功,最后小明哥一個(gè)簡(jiǎn)單的函數(shù)就給解決了,實(shí)在是佩服!

解決方案:用eval()來(lái)輸出標(biāo)題,就可以將Unicode轉(zhuǎn)換成漢字了。

三、小結(jié)

1. 本文詳細(xì)介紹了如何用Python指定關(guān)鍵字爬取微博,有興趣的讀者可以嘗試自己動(dòng)手練習(xí)一下。

2. 本文僅供讀者學(xué)習(xí)使用,不做其他用途!

到此這篇關(guān)于用Python爬取指定關(guān)鍵詞的微博的文章就介紹到這了,更多相關(guān)Python爬取指定關(guān)鍵詞的微博內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django admin美化插件suit使用示例

    Django admin美化插件suit使用示例

    這篇文章主要介紹了Django admin美化插件suit使用示例,簡(jiǎn)單介紹了suit的使用界面示例,官方文檔,安裝語(yǔ)句等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • 在Django中使用ElasticSearch

    在Django中使用ElasticSearch

    這篇文章主要介紹了在Django中使用ElasticSearch,Elasticsearch是基于Lucene庫(kù)的搜索引擎。它提供了具有HTTP?Web界面和無(wú)模式JSON文檔的分布式,多租戶功能的全文本搜索引擎,下面詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2022-01-01
  • Python獲取時(shí)間戳的多種方法總結(jié)

    Python獲取時(shí)間戳的多種方法總結(jié)

    時(shí)間戳是一個(gè)表示日期和時(shí)間的數(shù)值,通常以秒為單位,在Python中,獲取時(shí)間戳是常見(jiàn)的任務(wù),用于記錄事件、計(jì)時(shí)操作、以及在各種應(yīng)用中跟蹤時(shí)間,本文將介紹多種獲取時(shí)間戳的方法,包括標(biāo)準(zhǔn)庫(kù)和第三方庫(kù)的方式,并提供示例代碼以幫助你更好地理解
    2023-11-11
  • python程序超時(shí)處理方式

    python程序超時(shí)處理方式

    這篇文章主要介紹了python程序超時(shí)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 人工智能學(xué)習(xí)pyTorch的ResNet殘差模塊示例詳解

    人工智能學(xué)習(xí)pyTorch的ResNet殘差模塊示例詳解

    這篇文章主要為大家介紹了人工智能學(xué)習(xí)pyTorch的ResNet殘差模塊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • Tensorflow訓(xùn)練MNIST手寫(xiě)數(shù)字識(shí)別模型

    Tensorflow訓(xùn)練MNIST手寫(xiě)數(shù)字識(shí)別模型

    這篇文章主要為大家詳細(xì)介紹了Tensorflow訓(xùn)練MNIST手寫(xiě)數(shù)字識(shí)別模型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 布隆過(guò)濾器的概述及Python實(shí)現(xiàn)方法

    布隆過(guò)濾器的概述及Python實(shí)現(xiàn)方法

    布隆過(guò)濾器是一種概率空間高效的數(shù)據(jù)結(jié)構(gòu)。它與hashmap非常相似,用于檢索一個(gè)元素是否在一個(gè)集合中。這篇文章主要介紹了布隆過(guò)濾器的概述及Python實(shí)現(xiàn),需要的朋友可以參考下
    2019-12-12
  • Python基于yaml文件配置logging日志過(guò)程解析

    Python基于yaml文件配置logging日志過(guò)程解析

    這篇文章主要介紹了Python基于yaml文件配置logging日志過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 一文秒懂Python中的字符串

    一文秒懂Python中的字符串

    這篇文章主要介紹了一文秒懂Python中的字符串,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Python3的介紹、安裝和命令行的認(rèn)識(shí)(推薦)

    Python3的介紹、安裝和命令行的認(rèn)識(shí)(推薦)

    Python是著名的“龜叔”Guido van Rossum在1989年圣誕節(jié)期間,為了打發(fā)無(wú)聊的圣誕節(jié)而編寫(xiě)的一個(gè)編程語(yǔ)言。這篇文章主要介紹了Python3的介紹、安裝和命令行的認(rèn)識(shí),需要的朋友可以參考下
    2018-10-10

最新評(píng)論