为了知道女朋友的小秘密,我用Python采集了微博6万个女生小秘密

作者 : 开心源码 本文共2134个字,预计阅读时间需要6分钟 发布时间: 2022-05-14 共231人阅读

image

因为是第一次谈恋爱,所以呢,对女生不是很理解,今天恰好看到微博榜姐搞了一个“女生哪些小秘密,是很多男生不知道的”,下边竟然有60000条评论!

image

60000个女生的小秘密啊!作为一个什么都不懂的男孩子,你能否好奇呢?
不论你好奇不好奇,反正我是挺好奇的!
看了60000个女生小秘密,女朋友的小秘密,我都能发现的!
python代码已经封装好了!一款爬取微博手机网页版评论的小程序

"""当然在学习Python的道路上一定会困难,没有好的学习资料,怎样去学习呢? 学习Python中有不明白推荐加入交流Q群号:928946953 群里有志同道合的小伙伴,互帮互助, 群里有不错的视频学习教程和PDF!还有大牛解答!"""import requestsimport jsonimport 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)                    continueif __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)

来看下都有啥密码:

image

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 为了知道女朋友的小秘密,我用Python采集了微博6万个女生小秘密

发表回复