為了知道女朋友的小秘密,我用Python采集了微博6萬個女生小秘密


 

由於是第一次談戀愛,所以呢,對女生不是很了解,今天剛好看到微博榜姐搞了一個“女生哪些小秘密,是很多男生不知道的”,下邊竟然有60000條評論!

 

 

60000個女生的小秘密啊!作為一個什么都不懂的男孩子,你是否好奇呢?
不管你好奇不好奇,反正我是挺好奇的!
看了60000個女生小秘密,女朋友的小秘密,我都能發現的!
python代碼已經封裝好了!一款爬取微博手機網頁版評論的小程序

 

 
         

"""
當然在學習Python的道路上肯定會困難,沒有好的學習資料,怎么去學習呢?
學習Python中有不明白推薦加入交流Q群號:928946953
群里有志同道合的小伙伴,互幫互助, 群里有不錯的視頻學習教程和PDF!
還有大牛解答!
"""


import
requests import json import re # 定義保存評論的函數 def bcpl(weibo_id, url, headers, number): count = 0 #設置一個初始變量count為0來進行計數 with open("微博id" + str(weibo_id) + ".txt", "a", encoding="utf8") as f: #打開一個名為“微博idxxxxxx”的txt文件,編碼utf-8 # 當count數量小於預期的number時,進行循環 while count < number: # 判斷是不是第一組評論,如果是的話,第一組評論不需要加max_id,之后的需要加 if count == 0: try: url = url + weibo_id + '&mid=' + weibo_id + '&max_id_type=0' web_data = requests.get(url, headers=headers) #F12查看data信息 js_con = web_data.json() #轉換一下數據格式 # 獲取連接下一頁評論的max_id max_id = js_con['data']['max_id'] #max_id在[data]中 print(max_id) comments = js_con['data']['data'] #獲得數據中[data]中的[data] for comment in comments: #依次循環獲得comments中的數據 comment = comment["text"] #獲得[text]下的數據,也就是評論數據 label = re.compile(r'</?\w+[^>]*>', re.S) #刪除表情符號 comment = re.sub(label, '', comment) #獲得文本評論 f.write(comment + '\n') #寫入到文件中 count += 1 #count = count + 1 print("已爬取" + str(count) + "條評論!" ) #顯示爬取到第幾條 except Exception as e: print("出錯了" ,e) continue else: try: url = url + weibo_id + 'max_id=' + str(max_id) + '&max_id_type=0' web_data = requests.get(url, headers=headers) js_con = web_data.json() max_id = js_con['data']['max_id'] comments = js_con['data']['data'] for comment in comments: comment = comment["text"] label = re.compile(r'</?\w+[^>]*>', re.S) comment = re.sub(label, '', comment) f.write(comment+ '\n') count += 1 print("已爬取" + str(count) + "條評論!") except Exception as e: print("出錯了" ,e) continue if __name__ == "__main__": headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36' } #設置user-agent來進行偽裝,突破微博反爬限制 url = 'https://m.weibo.cn/comments/hotflow?id=' weibo_id = '4478512314460101' # 要爬取的微博id #[url=https://m.weibo.cn/detail/4478512314460101]https://m.weibo.cn/detail/4478512314460101[/url] #打開微博手機端網頁[url=https://m.weibo.cn]https://m.weibo.cn[/url],找到要爬取的微博id! #手機端網頁!手機端網頁!手機端網頁! number = 60000 # 設置爬取評論量,爬取量在第X組,爬取時會爬取下來該組的數據,所以最終數據可能會大於number,一般是個整10的數 bcpl(weibo_id, url, headers, number)

 

來看下都有啥密碼:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM