1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        抓取用戶發(fā)布的所有微博的評論

        共 2439字,需瀏覽 5分鐘

         ·

        2021-11-05 10:57

        ? ? 點擊上方?月小水長?并?設(shè)為星標(biāo),第一時間接收干貨推送

        這是?月小水長?的第?95?篇原創(chuàng)干貨

        目前公眾號平臺改變了推送機(jī)制,點“贊”、點“在看”、添加過“星標(biāo)”的同學(xué),都會優(yōu)先接收到我的文章推送,所以大家讀完文章后,記得點一下“在看”和“贊”。

        根據(jù)微博話題爬蟲或者微博用戶爬蟲抓取保存的微博 csv 文件,里面保存的是一條條微博,批量爬取評論就是根據(jù)這些微博的 ID,抓取這些他們的評論。

        之前根據(jù)話題爬蟲結(jié)果,批量抓取話題微博的評論,在【B 站視頻教程】抓取用戶微博和批量抓取評論 已經(jīng)有詳細(xì)說明,今天說的是根據(jù)用戶爬蟲的保存結(jié)果,批量抓取保存用戶微博的評論。

        如果不知道如何抓取指定用戶的微博,可以參見 一個爬取用戶所有微博的爬蟲,還能斷網(wǎng)續(xù)爬那種,具體操作流程可以看 B 站配套視頻教程。

        假如我們上一步抓取的是歌手李健的微博,其保存的 csv 內(nèi)容如下:



        在發(fā)布微博評論爬蟲一文 2021 新版微博評論及其子評論爬蟲發(fā)布 我們可以知道,它需要一個類似下面的配置文件。

        {  "cookie": "更換成你的 cookie",  "comments": [    {      "mid": "KCAqH0IpS",       "uid": "1744395855",      "limit": 10000,      "desc": "轉(zhuǎn)發(fā)理由:這首歌記載了那個夏天,也將開始記載你今后的日子,祝愿你永遠(yuǎn)擁有那股與生俱來的內(nèi)在力量"    }  ]}

        uid 是指李健的用戶 id,mid 是李健發(fā)的某一條微博的 id,limit 指的是這條微博最多要爬多少條評論,默認(rèn) 1w,desc 是描述這條微博的信息,這里默認(rèn)是微博正文了,主要是 mid, uid 重要。

        上面這個配置文件描述了只抓取 mid=KCAqH0IpS 這 1 條微博的評論,如果要批量抓取,則需要給 comments 列表 append 包含 mid、uid、limit、desc 這四個字段的字典,之前的話題爬蟲批量評論抓取配置文件有自動生成的腳本,這次批量抓取用戶微博的評論,同樣有。

        # -*- coding: utf-8 -*-# author:           inspurer(月小水長)# create_time:      2021/10/17 10:31# 運行環(huán)境           Python3.6+# github            https://github.com/inspurer# 微信公眾號         月小水長
        import json
        import pandas as pd
        limit = 10000
        config_path = 'mac_comment_config.json'
        input_file?=?'./1744395855_歌手李健.csv'

        if '/' in input_file: user_id = input_file[input_file.rindex('/')+1:input_file.rindex('_')]else: user_id = input_file[:input_file.rindex('_')]
        user_name = input_file[input_file.rindex('_')+1:input_file.rindex('.')]

        def drop_duplicate(path, col_index=0): df = pd.read_csv(path) first_column = df.columns.tolist()[col_index] # 去除重復(fù)行數(shù)據(jù) df.drop_duplicates(keep='first', inplace=True, subset=[first_column]) # 可能還剩下重復(fù) header df = df[-df[first_column].isin([first_column])] df.to_csv(path, encoding='utf-8-sig', index=False)

        drop_duplicate(input_file)
        with open(config_path, 'r', encoding='utf-8-sig') as f: config_json = json.loads(f.read())
        df = pd.read_csv(input_file)
        # 清除原有的 comments 配置,如不需要可注釋config_json['comments'].clear()
        for index, row in df.iterrows(): print(f'{index + 1}/{df.shape[0]}') mid = row['微博id'] config_json['comments'].append({ 'mid': mid, 'uid': user_id, 'limit': limit, 'desc': row['微博正文'] })
        with open(config_path, 'w', encoding='utf-8-sig') as f:????f.write(json.dumps(config_json,?indent=2,?ensure_ascii=False))

        然后運行評論爬蟲就行,上述具體操作流程可以參考 B 站下面這個視頻。

        瀏覽 147
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            97香蕉久久超级碰碰高清版 | 天天操天天看 | 韩国毛片在线免费观看 | 白峰美羽人妻AND-499 | 国产精品内射婷婷一级二 | 影音先锋在线色女人aa鲁色资源 | 夜夜操夜夜操 | 黄色一级片免费在线观看 | 日韩欧美超碰在线 | 亚洲小说区图片区另类 |