背景
想快速地提取 組隊(duì)學(xué)習(xí) 知識(shí)星球打卡的信息
在原有的基礎(chǔ)上進(jìn)行改良,此處附上鏈接 Python 知識(shí)星球爬蟲(一) 根據(jù) topic > comment 爬取數(shù)據(jù)
遇到的難點(diǎn)
- 超過30條評(píng)論的數(shù)據(jù)如何獲取
- user-agent + cookie 綁定登陸
調(diào)試代碼的時(shí)候可以把標(biāo)星的地方都加上 - 正則表達(dá)式匹配評(píng)論內(nèi)容
re.match,現(xiàn)在改成re.findall - 時(shí)間url編碼問題,有待解決~~
說明
詳細(xì)實(shí)現(xiàn)代碼
代碼不難,并且加了備注~~~
# 前面3個(gè)函數(shù)
def get_group_topics(headers, groups_id):
def get_topics_comments(headers, topics_id, begin_time=None):
def get_comments_count(headers, topics_id):
總體的思路都是:
- requests請(qǐng)求獲取text數(shù)據(jù)
- text數(shù)據(jù)轉(zhuǎn)成dict格式的數(shù)據(jù)
- 按需提取dict中的數(shù)據(jù)
def main():
最后通過main()將所有的邏輯組織起來
詳細(xì)代碼可以查看 Github
輸出結(jié)果如下:

局部結(jié)果展示
使用方法
- 確認(rèn)運(yùn)行環(huán)境
Python2或者Python3; - 代碼23~26行,
user-agent和cookie的修改; - 代碼137行,根據(jù)學(xué)習(xí)小組,修改
get_group_topics的信息。
獲取Headers 和 cookies的方法
Headers
谷歌瀏覽器F12開發(fā)者模式,搜索 topic 然后看結(jié)果

image.png
cookies
我安裝了google插件 點(diǎn)擊跳轉(zhuǎn)

image.png
主要的cookie中主要的key有2個(gè) UM_distinctid 和 zsxq_access_token。如果找不到 UM_distinctid,那將cookie中key和value都加上