博客 / 詳情

返回

【爬蟲工具】小紅書蒲公英批量採集軟件v2.0版,高效篩選優質博主

本軟件工具僅限於學術交流使用,嚴格遵循相關法律法規,符合平台內容合法合規性,禁止用於任何商業用途!

一、背景介紹

1.0 爬取目標

眾所周知,蒲公英是xhs推出的優質創作者商業合作服務平台,致力於為品牌和博主提供內容合作服務,可以高效的為品牌匹配出最符合的優質博主。

pgy平台,需要有一定權限的企業資質賬號才能申請開通。開通之後,進入【尋找博主】頁面,即可根據一定的篩選條件過濾出滿足的博主列表,如下:

尋找博主頁面

上面是篩選條件,下面是篩選結果。

爬蟲功能分為2大類模塊:第一是根據篩選條件爬取博主列表,第二是根據爬取到的博主id進入詳情頁面爬取詳細數據,詳情頁如下:

詳情頁

通過分析網頁接口,開發出了爬蟲GUI軟件,界面如下:軟件界面

共爬取到34個字段,字段如下:

1 關鍵詞
2 頁碼
3 xhs暱稱
4 xhs號
5 地址
6 機構
7 數據更新至
8 xhs鏈接
9 粉絲數
10 賬號類型
11 圖文報價
12 視頻報價
13 合作筆記數
14 預估閲讀單價_圖文
15 圖文3秒閲讀
16 日常_閲讀中位數
17 日常_互動中位數
18 日常_閲讀來源發現頁佔比
19 日常_閲讀來源搜索頁佔比
20 合作_閲讀中位數
21 合作_互動中位數
22 合作_閲讀來源發現頁佔比
23 合作_閲讀來源搜索頁佔比
24 女性粉絲佔比
25 年齡佔比最多的
26 賬號評估
27 合作筆記1閲讀數
28 合作筆記2閲讀數
29 合作筆記3閲讀數
30 合作筆記4閲讀數
31 合作筆記5閲讀數
32 合作筆記6閲讀數
33 合作筆記7閲讀數
34 合作筆記8閲讀數

詳細演示數據:(看《pgy》這個sheet頁)

docs.qq.com/sheet/DVEFhZlFKR1NXVEdN?tab=suenot

1.1 演示視頻

軟件操作演示視頻:
【爬蟲軟件】批量採集小紅書蒲公英博主信息

1.2 軟件説明

重要説明,請詳讀:

  1. Windows用户可直接雙擊打開使用,無需Python運行環境,非常方便!
  2. 需要在cookie.txt中填入cookie值,持久存儲,方便長期使用
  3. 支持篩選筆記搜索關鍵詞、筆記類型(不限/圖文筆記為主/視頻筆記為主)、粉絲數量、圖文報價、搜索頁範圍。其他個性化篩選條件,可以和我溝通定製
  4. 爬取過程中,有log文件詳細記錄運行過程,方便回溯
  5. 爬取過程中,自動保存結果到csv文件(每爬一條存一次,防止數據丟失)
  6. 可爬34個關鍵字段,含:關鍵詞,頁碼,xhs暱稱,xhs號,地址,機構,數據更新至,xhs鏈接,粉絲數,賬號類型,圖文報價,視頻報價,合作筆記數,預估閲讀單價_圖文,圖文3秒閲讀,日常_閲讀中位數,日常_互動中位數,日常_閲讀來源發現頁佔比,日常_閲讀來源搜索頁佔比,合作_閲讀中位數,合作_互動中位數,合作_閲讀來源發現頁佔比,合作\_閲讀來源搜索頁佔比,女性粉絲佔比,年齡佔比最多的,賬號評估,合作筆記1閲讀數,合作筆記2閲讀數,合作筆記3閲讀數,合作筆記4閲讀數,合作筆記5閲讀數,合作筆記6閲讀數,合作筆記7閲讀數,合作筆記8閲讀數。
  7. 以上爬取字段已經包含,如無法滿足個性化要求,可定製開發(接口已調通)
    以上。

二、代碼講解

2.0 關於接口

由於採集字段較多,開發者模式中分析接口不止一個,採集程序整合多個接口開發而成,歸納如下:

  1. 博主列表接口
  2. 日常筆記接口
  3. 合作筆記接口
  4. 粉絲數接口
  5. 閲讀單價接口
  6. 合作筆記閲讀數接口
  7. 所屬機構接口

以上。

2.1 爬蟲採集模塊

此軟件開發成本較高,代碼量大、實現邏輯複雜,為保護個人知識版權,防止惡意盜版軟件,不展示爬蟲核心代碼。

2.2 cookie獲取

運行軟件之前,需要填寫cookie值到txt配置文件中,獲取方法如下:ck獲取方法

2.3 軟件界面模塊

主窗口部分:

# 創建主窗口
root = tk.Tk()
root.title('pgy爬蟲-公開版p1.4 | 馬哥python説 | 定製')
# 設置窗口大小
root.minsize(width=850, height=650)

部分界面控件:

# 筆記關鍵詞
tk.Label(root, justify='left', text='筆記關鍵詞:').place(x=30, y=65)
entry_kw = tk.Text(root, bg='#ffffff', width=22, height=2, )
entry_kw.place(x=105, y=65, anchor='nw')  # 擺放位置

日誌輸出控件:

# 運行日誌
tk.Label(root, justify='left', text='運行日誌:').place(x=30, y=250)
show_list_Frame = tk.Frame(width=780, height=300)  # 創建<消息列表分區>
show_list_Frame.pack_propagate(0)
show_list_Frame.place(x=30, y=270, anchor='nw')  # 擺放位置

2.4 日誌模塊

好的日誌功能,方便軟件運行出問題後快速定位原因,修復bug。

核心代碼:

def get_logger(self):
    self.logger = logging.getLogger(__name__)
    # 日誌格式
    formatter = '[%(asctime)s-%(filename)s][%(funcName)s-%(lineno)d]--%(message)s'
    # 日誌級別
    self.logger.setLevel(logging.DEBUG)
    # 控制枱日誌
    sh = logging.StreamHandler()
    log_formatter = logging.Formatter(formatter, datefmt='%Y-%m-%d %H:%M:%S')
    # info日誌文件名
    info_file_name = time.strftime("%Y-%m-%d") + '.log'
    # 將其保存到特定目錄
    case_dir = r'./logs/'
    info_handler = TimedRotatingFileHandler(filename=case_dir + info_file_name,
                        when='MIDNIGHT',
                        interval=1,
                        backupCount=7,
                        encoding='utf-8')

軟件運行過程中生成的日誌文件:

log文件

三、原創聲明

軟件"爬蒲公英軟件"首發於公號"老男孩的平凡之路",歡迎技術交流,深入探討。

我是@馬哥python説,一名10年程序猿,持續分享Python乾貨中。

user avatar devil_5931bede13754 頭像 kaige 頭像 u_16213335 頭像 xiaopaipiper 頭像
4 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.