国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【爬蟲(chóng)實(shí)戰(zhàn)】用python爬取微博任意關(guān)鍵詞搜索結(jié)果、exe文件

這篇具有很好參考價(jià)值的文章主要介紹了【爬蟲(chóng)實(shí)戰(zhàn)】用python爬取微博任意關(guān)鍵詞搜索結(jié)果、exe文件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

項(xiàng)目功能簡(jiǎn)介:

1.交互式配置;

2.兩種任意關(guān)鍵詞來(lái)源(直接輸入、本地關(guān)鍵詞文件);

3.自動(dòng)翻頁(yè)(無(wú)限爬取);

4.指定最大翻頁(yè)頁(yè)碼;

5.數(shù)據(jù)保存到csv文件;

6.程序支持打包成exe文件;

7.項(xiàng)目操作說(shuō)明文檔;

一.最終效果

python如何根據(jù)微博關(guān)鍵詞搜索內(nèi)容,python爬蟲(chóng)、js逆向,python,微博爬蟲(chóng)


視頻演示:

用python爬取微博關(guān)鍵詞搜索結(jié)果、exe文件視頻演示

二.項(xiàng)目代碼

2.1 數(shù)據(jù)來(lái)源分析

使用chrome瀏覽器,F(xiàn)12打開(kāi)調(diào)試面板,使用元素選擇工具確定元素位置,如下圖

python如何根據(jù)微博關(guān)鍵詞搜索內(nèi)容,python爬蟲(chóng)、js逆向,python,微博爬蟲(chóng)

確定頁(yè)面元素:
python如何根據(jù)微博關(guān)鍵詞搜索內(nèi)容,python爬蟲(chóng)、js逆向,python,微博爬蟲(chóng)

說(shuō)明:為何不直接調(diào)用接口獲取數(shù)據(jù)呢? 通過(guò)調(diào)試面板會(huì)發(fā)現(xiàn),搜索結(jié)果數(shù)據(jù)不是前后端分離方式返回到web端,而是通過(guò)服務(wù)端渲染之后一起發(fā)送到web端,所以只能對(duì)html解析,獲取到關(guān)鍵字段內(nèi)容。

2.2 解析數(shù)據(jù)

解析html需要使用bs4庫(kù),使用前請(qǐng)確保已經(jīng)安裝成功: pip install bs4,查看本地是否已經(jīng)安裝: pip list,如下圖:

python如何根據(jù)微博關(guān)鍵詞搜索內(nèi)容,python爬蟲(chóng)、js逆向,python,微博爬蟲(chóng)


from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')

elements = soup.select('#pl_feedlist_index .card-wrap')


高能總結(jié):1. soup.select選擇器返回的對(duì)象還能繼續(xù)選擇元素,例如上面的elements,elements.select_one('.card .info #title');2. 元素如果使用了class對(duì)應(yīng)選擇器中用.,id用#,元素標(biāo)簽直接用標(biāo)簽名稱(chēng),例如div、spanul等等。

三.批量保存數(shù)據(jù)

數(shù)據(jù)保存使用pandas,因此需要先安裝: pip install pandas,解析道的數(shù)據(jù)單行保存讀寫(xiě)文件太費(fèi)時(shí)間,使用pandas批量保存,用法如下:

import pandas as pd
list = [
  {
  "keywords":"",
  ...
  "like":"",
  },{
  "keywords":"",
  ...
  "like":"",
  }
]
df = pd.DataFrame(list)
df.to_csv('result.csv', index=False, columns=["keywords", "nickname", "publish_time", "device_info", "weibo_content", "forward", "comment", "like"])

高能總結(jié):1. df.to_csv保存數(shù)據(jù)時(shí),如果不存在result.csv文件會(huì)自動(dòng)創(chuàng)建;2.往已經(jīng)存在數(shù)據(jù)的result.csv文件中追加數(shù)據(jù),使用追加方式:df.to_csv('result.csv', index=False, mode='a', header=False)

pandas保存檢查完整代碼:


import pandas as pd
import os


class DataTool:
    def __init__(self):
        self.file_path = 'result.csv'

    def check_data(self):
        if os.path.exists(self.file_path):
            with open(self.file_path, 'r') as file:
                first_line = file.readline()
                if first_line.strip():
                    return True
                else:
                    return False
        else:
            return False

    def data_to_save(self, list, page):
        df = pd.DataFrame(list)
        print("數(shù)據(jù)保存中...")
        if page == 1:
            has_file = self.check_data()
            if not has_file:
                df.to_csv(self.file_path, index=False, columns=["keywords", "nickname", "publish_time", "device_info", "weibo_content", "forward", "comment", "like"])
                return
        df.to_csv(self.file_path, index=False, mode='a', header=False)

下面是pandas庫(kù)的優(yōu)點(diǎn)總結(jié):

Pandas 是一個(gè)強(qiáng)大的數(shù)據(jù)處理和分析庫(kù),它在數(shù)據(jù)科學(xué)和數(shù)據(jù)分析領(lǐng)域非常受歡迎。以下是一些 Pandas 庫(kù)的主要優(yōu)點(diǎn):

1.數(shù)據(jù)結(jié)構(gòu):Pandas 提供了兩個(gè)主要的數(shù)據(jù)結(jié)構(gòu),DataFrame 和 Series,它們使數(shù)據(jù)的處理和分析變得更加容易。DataFrame 是一個(gè)二維表格,類(lèi)似于關(guān)系型數(shù)據(jù)庫(kù)表,而 Series 是一個(gè)一維數(shù)組,類(lèi)似于列表或數(shù)組。這兩種數(shù)據(jù)結(jié)構(gòu)使得處理不同類(lèi)型的數(shù)據(jù)變得更加方便。

2.數(shù)據(jù)清洗:Pandas 提供了豐富的數(shù)據(jù)清洗工具,包括處理缺失值、重復(fù)值、異常值等的功能。你可以輕松地對(duì)數(shù)據(jù)進(jìn)行清洗、填充缺失值、刪除重復(fù)行等操作。

3.靈活的數(shù)據(jù)操作:Pandas 允許你進(jìn)行各種靈活的數(shù)據(jù)操作,包括篩選、過(guò)濾、排序、合并、重塑和透視表等。這使得數(shù)據(jù)分析更加容易,你可以按照需要對(duì)數(shù)據(jù)進(jìn)行各種操作,而不需要編寫(xiě)復(fù)雜的循環(huán)和邏輯。

4.數(shù)據(jù)分組和聚合:Pandas 提供了強(qiáng)大的分組和聚合功能,允許你根據(jù)一個(gè)或多個(gè)列對(duì)數(shù)據(jù)進(jìn)行分組,并應(yīng)用聚合函數(shù)(如求和、平均值、計(jì)數(shù)等)來(lái)匯總數(shù)據(jù)。這對(duì)于生成統(tǒng)計(jì)信息和匯總報(bào)告非常有用。

5.時(shí)間序列處理:Pandas 支持時(shí)間序列數(shù)據(jù)的處理和分析,包括日期和時(shí)間的解析、重采樣、滾動(dòng)窗口計(jì)算等。這對(duì)于金融分析、天氣數(shù)據(jù)、股票市場(chǎng)分析等領(lǐng)域非常有用。

6.豐富的數(shù)據(jù)輸入/輸出:Pandas 支持多種數(shù)據(jù)格式的讀寫(xiě),包括 CSV、Excel、SQL 數(shù)據(jù)庫(kù)、JSON、HTML、Parquet 等,使得數(shù)據(jù)的導(dǎo)入和導(dǎo)出非常方便。

7.集成性:Pandas 可以與其他數(shù)據(jù)科學(xué)庫(kù)(如 NumPy、Matplotlib、Scikit-Learn)無(wú)縫集成,使得數(shù)據(jù)分析和建模工作更加流暢。

四.運(yùn)行過(guò)程

python如何根據(jù)微博關(guān)鍵詞搜索內(nèi)容,python爬蟲(chóng)、js逆向,python,微博爬蟲(chóng)

五.項(xiàng)目說(shuō)明文檔

python如何根據(jù)微博關(guān)鍵詞搜索內(nèi)容,python爬蟲(chóng)、js逆向,python,微博爬蟲(chóng)

六.獲取完整源碼

愛(ài)學(xué)習(xí)的小伙伴,本次案例的完整源碼,已上傳微信公眾號(hào)“一個(gè)努力奔跑的snail”,后臺(tái)回復(fù) 微博關(guān)鍵詞 即可獲取。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-782455.html

到了這里,關(guān)于【爬蟲(chóng)實(shí)戰(zhàn)】用python爬取微博任意關(guān)鍵詞搜索結(jié)果、exe文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 用python語(yǔ)言爬蟲(chóng)爬取微博評(píng)論--上--初步爬蟲(chóng)(超詳細(xì)版,大學(xué)生不騙大學(xué)生)

    用python語(yǔ)言爬蟲(chóng)爬取微博評(píng)論--上--初步爬蟲(chóng)(超詳細(xì)版,大學(xué)生不騙大學(xué)生)

    目錄 一、找到頁(yè)面 ?二、學(xué)會(huì)使用檢查元素 2.1 打開(kāi)檢查元素界面 2.2 找到所有評(píng)論所在的位置 2.2.1 搜索評(píng)論 2.2.2 ?找到data表 三、基礎(chǔ)部分代碼實(shí)現(xiàn)???????? 全部已經(jīng)更完(下面兩個(gè)鏈接是中和下) https://blog.csdn.net/m0_68325382/article/details/137234661?spm=1001.2014.3001.5502 爬

    2024年04月10日
    瀏覽(34)
  • 利用八爪魚(yú)爬取關(guān)鍵詞搜索的微博數(shù)據(jù)

    利用八爪魚(yú)爬取關(guān)鍵詞搜索的微博數(shù)據(jù)

    今天是我在CSDN上的兩周年創(chuàng)作紀(jì)念日,兩年里我寫(xiě)了不少有意思的文章,雖然沒(méi)收獲什么粉絲,但看到自己的博客閱讀量越來(lái)越大,能幫助到更多人解決實(shí)際問(wèn)題還是很開(kāi)心的。今天就分享一下我最近做的一個(gè)項(xiàng)目。 一般來(lái)說(shuō),爬蟲(chóng)可能用的更多的是python,但是chatgpt給出的

    2024年02月06日
    瀏覽(36)
  • 【爬蟲(chóng)】根據(jù)關(guān)鍵詞自動(dòng)搜索并爬取結(jié)果

    根據(jù)自動(dòng)搜索并爬取網(wǎng)頁(yè)的信息 網(wǎng)頁(yè)有兩種情況:可以直接獲取頁(yè)數(shù)的和不可以直接獲取頁(yè)數(shù)的; 兩種情況可以采取不同的方法: 情況一:先爬取頁(yè)數(shù),再爬取每頁(yè)的數(shù)據(jù) 情況二:無(wú)法爬取到頁(yè)碼數(shù),只能換頁(yè)爬取的

    2024年02月12日
    瀏覽(25)
  • 爬取微博熱搜榜并進(jìn)行數(shù)據(jù)分析

    爬取微博熱搜榜并進(jìn)行數(shù)據(jù)分析

    :爬取微博熱搜榜數(shù)據(jù)。 用requests庫(kù)訪問(wèn)頁(yè)面用get方法獲取頁(yè)面資源,登錄頁(yè)面對(duì)頁(yè)面HTML進(jìn)行分析,用beautifulsoup庫(kù)獲取并提取自己所需要的信息。再講數(shù)據(jù)保存到CSV文件中,進(jìn)行數(shù)據(jù)清洗,數(shù)據(jù)可視化分析,繪制數(shù)據(jù)圖表,并用最小二乘法進(jìn)行擬合分析。 :通過(guò)觀察頁(yè)面HT

    2024年02月15日
    瀏覽(30)
  • python學(xué)習(xí):爬蟲(chóng)爬取微信公眾號(hào)數(shù)據(jù)

    python學(xué)習(xí):爬蟲(chóng)爬取微信公眾號(hào)數(shù)據(jù)

    參考: https://blog.csdn.net/qq_45722494/article/details/120191233 1、登錄微信公眾平臺(tái) 這里我注冊(cè)了個(gè)微信公眾號(hào) 點(diǎn)擊圖文消息 點(diǎn)擊超鏈接 搜索要爬取的公眾號(hào)名稱(chēng) 獲取appmsg?action… 上述第一步可以獲取到cookie、fakeid、token、user_agent等,編輯成wechat.yaml文件,如下所示 代碼如下: 因?yàn)殚喿x

    2024年01月24日
    瀏覽(30)
  • 基于python的微博輿情分析與研究—以《北京冬奧會(huì)》為關(guān)鍵詞

    基于python的微博輿情分析與研究—以《北京冬奧會(huì)》為關(guān)鍵詞

    創(chuàng)作不易,如果以下內(nèi)容對(duì)你有幫助,記得三連呀,讓更多的小伙伴能看到吧~~ 1. 研究?jī)?nèi)容 本課題研究的是基于Python的微博輿情熱點(diǎn)分析與研究。在PyCharm、Jupiter Notebook開(kāi)發(fā)環(huán)境下,首先利使用python的requests庫(kù)對(duì)微博進(jìn)行分時(shí)段多進(jìn)程爬取,并利用lxml解析庫(kù)對(duì)爬取到的數(shù)據(jù)解

    2023年04月08日
    瀏覽(20)
  • 爬蟲(chóng) | Python爬取微博實(shí)時(shí)熱搜榜信息

    爬蟲(chóng) | Python爬取微博實(shí)時(shí)熱搜榜信息

    大家好,我是程序員曉曉~ 本期給大家分享一下如何 用python獲取微博熱搜榜 信息,包含 爬取時(shí)間、序號(hào)、、熱度 等信息,希望對(duì)大家有所幫助。 所有內(nèi)容僅供參考,不做他用。 1. 網(wǎng)頁(yè)分析 目標(biāo)網(wǎng)址(微博熱搜榜): https://s.weibo.com/top/summary 實(shí)時(shí)熱搜榜一共有50條,每個(gè)

    2024年02月02日
    瀏覽(22)
  • python爬蟲(chóng)爬取微信公眾號(hào)的閱讀數(shù)、喜愛(ài)數(shù)、文章標(biāo)題和鏈接等信息

    python爬蟲(chóng)爬取微信公眾號(hào)的閱讀數(shù)、喜愛(ài)數(shù)、文章標(biāo)題和鏈接等信息

    爬蟲(chóng)的步驟: (1)申請(qǐng)自己的公眾號(hào) (2)使用fiddler抓包工具 (3)pycharm (一)申請(qǐng)公眾號(hào) 官網(wǎng):微信公眾平臺(tái) 填入相關(guān)信息創(chuàng)建微信公眾號(hào) 進(jìn)入公眾號(hào)界面如下: 找到新的創(chuàng)作-圖文信息 在彈出的界面中查找公眾號(hào)文章-輸入公眾號(hào)名稱(chēng)-確定 點(diǎn)擊確認(rèn)之后,進(jìn)入公眾號(hào)

    2024年02月05日
    瀏覽(26)
  • 【爬蟲(chóng)、數(shù)據(jù)可視化實(shí)戰(zhàn)】以“人口”話(huà)題為例爬取實(shí)時(shí)微博數(shù)據(jù)并進(jìn)行輿情分析

    【爬蟲(chóng)、數(shù)據(jù)可視化實(shí)戰(zhàn)】以“人口”話(huà)題為例爬取實(shí)時(shí)微博數(shù)據(jù)并進(jìn)行輿情分析

    近期在weibo上討論的比較熱的話(huà)題無(wú)非就是“人口”了。TaoTao也看了一些大家發(fā)的內(nèi)容。但是感覺(jué)單純的看文字內(nèi)容不能很直觀的反應(yīng)出來(lái)大家的關(guān)切。索性就使用爬蟲(chóng)對(duì)數(shù)據(jù)進(jìn)行爬取,同時(shí)結(jié)合著數(shù)據(jù)可視化的方式讓數(shù)據(jù)自己開(kāi)口說(shuō)話(huà)。那么接下來(lái)就讓我們使用技術(shù)進(jìn)行分

    2024年01月23日
    瀏覽(27)
  • 使用Python編寫(xiě)搜索引擎關(guān)鍵詞排名監(jiān)測(cè)爬蟲(chóng)

    目錄 1. 了解排名監(jiān)測(cè)的重要性 2. 選擇合適的搜索引擎 3. 構(gòu)建排名監(jiān)測(cè)爬蟲(chóng)

    2024年02月09日
    瀏覽(31)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包