学习 scrapy 写的一个小爬虫
数据都放在了 sqlite 数据库,方便分,整个数据库大小 2.1GB 。
爬虫源码放在了 GitHub ,在 GitHub 我 release 了完整的 sqlite 数据库文件
Github 链接:https://github.com/oldshensheep/v2ex_scrapy
爬取花了几十小时,因为爬快了会封禁 IP ,并且我也没使用代理池。并发数设置为 3 基本上可以一直爬。
爬虫从topic_id = 1
开始爬,路径为https://www.v2ex.com/t/{topic_id}
。 服务器可能返回 404/403/302/200 ,如果是 404 说明帖子被删除了,如果是 403 说明是爬虫被限制了,302 一般是跳转到登陆页面,有的也是跳转到主页,200 返回正常页面。
爬虫没有登陆,所以爬取的数据不完全,比如水下火热的帖子就没有爬到,还有就是如果是 302 的帖子会记录帖子 id ,404/403 不会记录。
爬取过程中会帖子内容,评论,以及评论的用户信息。
注 1:爬了一半才发现 V 站帖子附言没有爬,附言从topic_id = 448936
才会爬取
注 2:select count(*) from member 得到的用户数比较小,大概 20W ,是因为爬取过程中是根据评论,以及发帖信息爬取用户的,如果一个用户注册之后既没有评论也没有发帖,那么这个账号就爬不到。还有就是因为部分帖子访问不了,也可能导致部分账号没有爬。还有部分用户号被删除,这一部分也没有爬。(代码改了,可以爬,但是都已经爬完了……)
注 3:时间均为 UTC+0 的秒数
注 4:数据库除了主键,和唯一索引,没有加其他索引。
帖子总数:801,038 ( 80 万)
评论总数:10,899,382 ( 1000 万)
用户总数:194,534 ( 20 万)异常原因见爬取相关数据说明的注 2
因为部分评论内容较多不方便展示,要查看内容可以点击链接。或者下载数据库使用 SQL 查询,SQL 查询文件也包含在开源文件中
帖子链接 | 标题 | 票数 |
---|---|---|
https://www.v2ex.com/t/110327 | UP n DOWN vote in V2EX | 321 |
https://www.v2ex.com/t/295433 | Snipaste - 开发了三年的截图工具,但不只是截图 | 274 |
https://www.v2ex.com/t/462641 | 在 D 版发过了,不过因为不少朋友看不到 D 版,我就放在这里吧,说说我最近做的这个 Project | 200 |
https://www.v2ex.com/t/658387 | 剽窃别人成果的人一直有,不过今天遇到了格外厉害的 | 179 |
https://www.v2ex.com/t/745030 | QQ 正在尝试读取你的浏览记录 | 177 |
https://www.v2ex.com/t/689296 | 早上还在睡觉,自如管家进了我卧室... | 145 |
https://www.v2ex.com/t/814025 | 分享一张我精心修改调整的 M42 猎户座大星云(Orion Nebula)壁纸。用了非常多年,首次分享出来,能和 MBP 2021 新屏幕和谐相处。 | 136 |
https://www.v2ex.com/t/511827 | 23 岁,得了癌症,人生无望 | 129 |
https://www.v2ex.com/t/427796 | 隔壁组的小兵集体情愿 要炒了 team leader | 123 |
https://www.v2ex.com/t/534800 | 使用 Github 账号登录 黑客派 之后,Github 自动 follow | 112 |
帖子链接 | 标题 | 点击数 |
---|---|---|
https://www.v2ex.com/t/510849 | chrome 签到插件 [魂签] 更新啦 | 39,452,510 |
https://www.v2ex.com/t/706595 | 迫于搬家 ··· 继续出 700 本书~ 四折 非技术书还剩 270 多本· | 2,406,584 |
https://www.v2ex.com/t/718092 | 使用 GitHub 的流量数据为仓库创建访问数和克隆数的徽章 | 1,928,267 |
https://www.v2ex.com/t/861832 | 帮朋友推销下福建古田水蜜桃,欢迎各位购买啊 | 635,832 |
https://www.v2ex.com/t/176916 | 王垠这是在想不开吗 | 329,617 |
https://www.v2ex.com/t/303889 | 关于 V2EX 提供的 Android Captive Portal Server 地址的更新 | 295,681 |
https://www.v2ex.com/t/206766 | 如何找到一些有趣的 telegram 群组? | 294,553 |
https://www.v2ex.com/t/265474 | ngrok 客户端和服务端如何不验证证书 | 271,244 |
https://www.v2ex.com/t/308080 | Element UI——一套基于 Vue 2.0 的桌面端组件库 | 221,099 |
https://www.v2ex.com/t/295433 | Snipaste - 开发了三年的截图工具,但不只是截图 | 210,675 |
用户 | 评论数 |
---|---|
Livid | 19559 |
loading | 19190 |
murmur | 17189 |
msg7086 | 16768 |
Tink | 15919 |
imn1 | 11468 |
20015jjw | 10293 |
x86 | 9704 |
opengps | 9694 |
est | 9532 |
用户 | 主题数 |
---|---|
Livid | 6974 |
icedx | 722 |
ccming | 646 |
2232588429 | 614 |
razios | 611 |
coolair | 604 |
Kai | 599 |
est | 571 |
Newyorkcity | 553 |
WildCat | 544 |
需要详细的数据,建议下载数据库
节点 | 次数 |
---|---|
qna | 188011 |
all4all | 103254 |
programmer | 51706 |
jobs | 49959 |
share | 35942 |
apple | 20713 |
macos | 19040 |
create | 18685 |
python | 14124 |
career | 13170 |
tag | 次数 |
---|---|
开发 | 16414 |
App | 13240 |
Python | 13016 |
Mac | 12931 |
Java | 10984 |
Pro | 9375 |
iOS | 9216 |
微信 | 8922 |
V2EX | 8426 |
域名 | 8424 |
101
akira 2023-07-06 22:19:13 +08:00
第一名发的帖子数量比第二名多了一个数量级。。。和想象中有点差异啊。。。
|
103
Pipecraft 2023-07-06 22:23:49 +08:00
|
104
exploreexe 2023-07-07 05:07:51 +08:00
摸鱼王者 Livid 哈哈哈
我也在这个小站待了十几年了 从一开始的啥都不懂,被果粉围攻,到后来看到形形色色的人,花了太多时间看这个世界上各种各样不同的人和事了。 不知道为啥,总是时不时想上来看看 |
105
BeforeTooLate 2023-07-07 09:00:56 +08:00
@silypie #18 主键自增,帖子标识 id 再加个字段
|
106
MEIerer 2023-07-07 09:16:07 +08:00
可以,很强!
|
108
karmaisbitch 2023-07-07 09:21:46 +08:00
有意思哈
|
110
suyuyu 2023-07-07 10:00:14 +08:00 1
第一个帖子是我发的 [害羞]
|
111
wxf666 2023-07-07 13:41:54 +08:00 via Android
@oldshensheep 如果想持续爬取所有新回复,该用什么思路呢?好像没有最新回复列表?
|
112
christin 2023-07-07 14:34:34 +08:00
站长已经大度的告知了所有用户和水深火热区爬取方式,期待 lz 的更新,github 已 star 。
|
113
BaseException 2023-07-07 16:16:58 +08:00
@Livid 以前一个账号因为发了个帖子进了 flamewar 然后被封号了,可以请求找回账号么……
|
114
oldshensheep OP @wxf666 应该只能爬全部主题,虽然评论有唯一 ID ,但是好像没有接口
|
115
solitude2 2023-07-08 23:11:09 +08:00
nice
|
116
oldshensheep OP @Aitisikuoliv1d
@vigoss @zzzzzzzzsafdasd @cdwyd 水深火热已经更新 https://www.v2ex.com/t/955731 在水深火热节点…… 或者看这个 https://oldshensheep.github.io/v2ex_scrapy 这个是统计的水深火热,网页版的 |
117
Aitisikuoliv1d 2023-07-11 13:17:48 +08:00
@oldshensheep #116 大佬效率好高!
|
118
sockball07 2023-07-11 18:59:19 +08:00
是否能统计一下累计获得感谢的用户
|
119
yudoo 2023-07-16 22:12:06 +08:00
@oldshensheep 水深火热已经更新 https://www.v2ex.com/t/955731 在水深火热节点…… 这个能加上日期节点就更好了
|