## 功能
本程序可以根据**微博的mid**爬取**对应微博的点赞、转发与评论**的几乎全部信息,并将**结果写入csv文件**中。
## 代码结构
|文件名|函数名|功能|
|----|-----|----|
|parseAttitude|init|定义cookie、weibo_id、headers等参数|
||SpiderAttitude|构造点赞的url并解析点赞页的数据,包括点赞页翻页等功能|
||CsvPipeLineAttitude|创建csv文件并将解析好的result_lines列表写入文件|
|parseRepost|init|定义cookie、weibo_id、headers等参数|
||SpiderTransmit|构造转发页url并爬取所有转发人信息,包括转发页翻页等功能|
||CsvPipeLineTransmit|创建csv文件并将解析好的result_lines列表写入文件|
|parseComments|init|定义cookie、weibo_id、headers等参数|
||main|构造一级评论的url,提取翻页所用的相关参数,调用parse_response_data函数解析一级评论,包括一级评论翻页等内容|
||parse_response_data|解析一级评论的所有信息,并判断是否有二级评论,若有二级评论,则构造二级评论url,提取相关翻页参数,调用parse_secondary_comments函数解析二级评论,包括二级评论翻页等内容|
||parse_secondary_comments|解析二级评论的所有信息|
||CsvPipeLineComment|创建csv文件并将解析好的result_lines列表写入文件|
|start||输入weibo_id和cookie,运行整个程序|
## 输入和输出
### **输入**
- weibo_id = '详细博文的mid'<br>
- cookie = 'your cookie 值'
### **输出**
会分别输出三个文件:<br>
*attitudes.csv:*<br>
- mid:初始微博的mid,为一串数字形式
- attitude_id:初始微博的每一条点赞的id
- attitude_user_id:点赞用户的id
- attitude_user_screen_name:点赞用户的昵称
*reposts.csv:*<br>
- mid:初始微博的mid,为一串数字形式
- transmit_mid:初始微博的每一条转发的id
- transmit_user_id:转发用户的id
- transmit_user_screen_name:转发用户的昵称
- 该条转发显示的文本内容(eg.“转发微博”字样)
*comments.csv:*<br>
- mid:初始微博的mid,为一串数字形式
- comment_mid:初始微博的每一条**一级评论**的id
- comment_user_id:**一级评论**用户的id
- comment_user_screen_name:**一级评论**用户的昵称
- comment_content:**一级评论**的文本内容
- comment_pic_urls:**一级评论**中包含的图片url
- has_comments:bool值,是否有二级评论
- secondary_comments_num:**二级评论**的数量
- secondary_comment_mid:**二级评论**的id
- secondary_comment_user_id:**二级评论**用户的id
- secondary_user_screen_names:**二级评论**用户的名称
- secondary_comment_content:**二级评论**的文本内容
- secondary_comment_pic_urls:**二级评论**中包含的图片url
## 运行程序
输入weibo_id与cookie后直接运行start.py即可<br>
## tips:
**如何获取cookie**<br>
1. 用Chrome打开[https://weibo.com/](https://weibo.com/)<br>
2. 点击“立即登录”,完成私信验证或手机验证码验证,进入新版微博
3. 按F12打开开发者工具,在开发者工具的Network->Name->weibo.cn->Headers->Request Headers,找到“cookie:"后的值,这就是我们需要的cookie值,复制即可,如图所示。<br>
![](/pics/pic1.png)
**如何获取初始微博的mid,即weibo-id**<br>
方式一:<br>
通过其他微博爬虫,如关键字爬取微博内容等获取相应微博的mid<br>
方式二:(手动获取)<br>
1. 点击某条微博右上角向下箭头符号,复制微博链接
2. 打开新链接,注意链接中最后一串字符串,F12打开开发者工具,在开发者工具的Network->Name中找到'show?id=刚才链接中的字符串'
3. 点击后找到preview->“id:”,其中id后的值就是我们需要的微博mid,复制即可,如图所示。<br>
![](/pics/pic2.png)
*second commit*<br>
*新增了异常捕获,补充了请求头的信息,注意容易被封ip和账号,要记得更新cookie*
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
资源推荐
资源详情
资源评论
收起资源包目录
本项目是一个微博爬虫项目,旨在通过微博的mid获取到其对应的所有点赞、转发、评论与二级评论的相关数据。.zip (15个子文件)
SJT-code
parseRepost.py 3KB
start.py 541B
.idea
weiboSpider-forCommentsRepostAttitude.iml 284B
vcs.xml 222B
misc.xml 282B
inspectionProfiles
profiles_settings.xml 174B
modules.xml 326B
deployment.xml 1KB
.gitignore 182B
remote-mappings.xml 263B
parseComments.py 10KB
pics
pic2.png 82KB
pic1.png 67KB
parseAttitude.py 3KB
README.md 4KB
共 15 条
- 1
资源评论
- Cu桐2024-08-26资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
- qq_652277332024-10-13感谢资源主分享的资源解决了我当下的问题,非常有用的资源。
JJJ69
- 粉丝: 6352
- 资源: 5918
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功