<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 2439字,需瀏覽 5分鐘

           ·

          2021-11-05 10:57

          ? ? 點擊上方?月小水長?并?設為星標,第一時間接收干貨推送

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

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

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

          之前根據(jù)話題爬蟲結(jié)果,批量抓取話題微博的評論,在【B 站視頻教程】抓取用戶微博和批量抓取評論 已經(jīng)有詳細說明,今天說的是根據(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ā)理由:這首歌記載了那個夏天,也將開始記載你今后的日子,祝愿你永遠擁有那股與生俱來的內(nèi)在力量"    }  ]}

          uid 是指李健的用戶 id,mid 是李健發(fā)的某一條微博的 id,limit 指的是這條微博最多要爬多少條評論,默認 1w,desc 是描述這條微博的信息,這里默認是微博正文了,主要是 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] # 去除重復行數(shù)據(jù) df.drop_duplicates(keep='first', inplace=True, subset=[first_column]) # 可能還剩下重復 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
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  婷婷色网| ijⅰjzzijⅰjzz日本 | 免费色色 | 操视频网站 | 午夜爱爱爱视频 |