抓取微博 10w 余转发信息,构建 N 层转发关系网络图谱
2023-04-18 16:26:49 时间
这是 月小水长 的第 104 篇原创干货
在不久前发布的微博转发爬虫一文中:
分享了抓取微博的转发具体信息的爬虫 pyd 文件。但是单条微博最多只能抓到 1w 左右的转发,近日得空升级更新了下,以敲钟人李文亮英雄的最后一条微博为例子,实际抓到 10w+条抓发时仍可继续抓取,理论上可以全部抓取。更新的文件依然在上文链接中获取。
新的文件除了抓发数量上限有所升级外,还对微博 id 的格式做了自动转化处理,比如本例中的微博链接可以是:
https://weibo.com/1139098205/Is9M7taaY
数字 1139098205 是用户 id,最后斜杠后面的 Is9M7taaY 才是微博 id。
链接也可以是:
https://m.weibo.cn/detail/4467107636950632
上面的 4467107636950632 也是微博 id。它们可以通过转发爬虫的链接同目录下的文件 parseMid 互相转发,不过还是不方面,这次的爬虫文件,外面无论是指定 id 为 4467107636950632 还是 Is9M7taaY ,内部都会自动转化。
该文件不需要 json 配置,只需新建 py 按以下代码格式使用即可(下述代码左右滑动观看)。
from NewSuperWeiboForwardSpider import NewSuperWeiboForward
if __name__ == '__main__':
# cookie 要换的,参考B站视频 BV1F44y1i7dq
forwardSpider = NewSuperWeiboForward(mid='Is9M7taaY',
start_page=1,
limit=1000000,
cookie='eat cookie')
forwardSpider.crawl()
上述的 mid 也可以传入 4467107636950632 ,抓取的是同一条微博的转发。
保存的结果文件在代码根目录的 forward 文件下的 {mid}.csv 文件中。如下:
结果文件
最后使用 pyecharts 构建了该条微博的 N 层转发关系网络。如下
1 层转发网络
2 层转发网络
3 层转发网络
4 层转发网络
发现等 N>=3 时的网络已经近似等于 3 层网络了,说明转发网络几乎只能触达影响 3 层,不过指数爆炸了 3 次,影响力不可小觑。
相关文章
- Leetcode No.49 字母异位词分组
- Leetcode No.48 旋转图像
- Leetcode No.51 N皇后(DFS)
- Leetcode No.52 N皇后 II(DFS)
- Leetcode No.55 跳跃游戏(贪心)
- Leetcode No.59 螺旋矩阵 II
- Leetcode No.71 简化路径(栈)
- 【网站搭建】腾讯云服务器购买及域名解析及宝塔安装
- Leetcode No.72 编辑距离(动态规划)
- Leetcode No.73 矩阵置零(C++版)
- Leetcode No.74 搜索二维矩阵(二分查找)
- 为 K8s workload 引入的一些 BPF datapath 扩展
- Leetcode No.75 颜色分类
- 无Power BI账号,如何下载并使用图表市场的第三方图表?
- Leetcode No.78 子集
- Leetcode No.79 单词搜索(DFS)
- Leetcode No.80 删除有序数组中的重复项 II
- Leetcode No.82 删除排序链表中的重复元素 II
- Leetcode No.81 搜索旋转排序数组 II(二分法)
- Leetcode No.86 分隔链表