背景:使用 Telegram 的时候,为了能找到一些有意思的、好玩的、纯粹资源分享的群和频道,总是很困难,尽管有些网站推荐了不少的群 /频道 /机器人,但是往往其中很多都已经过期了,甚至很多都注销了,也有一些变成了涩涩群、机场群,一个一个筛选起来很麻烦,所以决定用 Python 爬虫来解决这一问题。
过程:用时一天时间,收集整理了很多网站数据,建立 URL 集合,使用 Scrapy 总共从十几个地址,爬了总计 3534 条数据。所有的数据及 SQL 已经放到文件 telegram_info.sql
中,爬虫代码放在了 telegram-groups-spider
文件夹里面。有需要的同学可以自行取用。
结果:从 3534 个中,按照订阅数 /会员数排序,并排除了其他语言的账号只选择做中文内容的账号,也排除了包含:机场、Sex 、Gamble 、Politics 等内容,手工精选了 200 多个放在了下面的表格里,感兴趣的同学可以根据自己喜好选择加入。
感悟:从数据来看,其中有很多是早已注销的群 /频道 /机器人,也有不是是灰黑产业的账号或者挂羊头卖狗肉的账号。精选账号大概只占到总数的 6% ,这个比例还是挺惊人的,中文的优质内容在 Telegram 还是相对匮乏,Telegram 在中文内容上更像是一个灰黑产的温床。虽然精选了 200 多个账号,但其中也有不少是羊毛,搬运,资源,影视,破解等内容,这些内容也是处于擦边球地带,真正优质的内容还会更少,当然这也限制与样本本身的质量,也许有不少好的账号还未被发现,也欢迎知道优质账号的同学能在 issue 留下它的链接。
GitHub 地址: https://github.com/alexbei/telegram-groups
这里是记录第二次结果的帖子(续作):
1 dilu 2023-06-26 12:41:02 +08:00 ![]() 上 tg 不就是为了看 yellow Politics 以及小飞机嘛? doge |
![]() | 2 pengtdyd 2023-06-26 12:48:07 +08:00 Telegram 确实有不少黑灰内容 |
![]() | 3 Cheons 2023-06-26 12:48:51 +08:00 via Android ![]() 我倒要看看除了 Sex 、Politics ,TG 上还有什么优质中文内容 |
![]() | 4 klo424 2023-06-26 13:09:31 +08:00 mark ,好东西,已 starred ,希望能持续更新! |
5 missdeer 2023-06-26 13:20:09 +08:00 看了一眼精选的 6%,确实也不少注水的 |
![]() | 6 sunamask 2023-06-26 13:21:44 +08:00 好项目,感谢!我找了一万年的歪屁股新闻终于有解决方案了~ |
![]() | 7 BeiChuanAlex OP @Cheons 优质的中文内容不光是 Telegram 上很少,其他平台上也不多,只是 Telegram 上更少罢了,这个是生态决定的。 |
![]() | 8 BeiChuanAlex OP @missdeer 确实也不少注水的,这也和样本数量及样本来源有关,目前能找到的 URL 集有限。 |
9 gablic 2023-06-26 13:26:39 +08:00 可以把筛掉的 3334 条数据也发一下吗,学习学习 |
![]() | 10 BeiChuanAlex OP @gablic 所有的数据都在 GitHub 项目的这个文件里面:telegram_info.sql |
11 kingwrcy 2023-06-26 13:37:09 +08:00 star 了,能否直接把内容爬出来,这样没有 tg 环境的人也能看. |
![]() | 12 ChainLock 2023-06-26 13:38:07 +08:00 start |
![]() | 13 BeiChuanAlex OP @kingwrcy 大部分的群 /频道 /机器人里面的内容都是日常闲聊的内容,对话内容爬出来也没有什么价值。 |
![]() | 14 Retas 2023-06-26 13:46:53 +08:00 电报上科技新闻类的频道都挺不错的,时效性比较高,没有软广浪费时间 |
15 kingwrcy 2023-06-26 13:53:47 +08:00 @BeiChuanAlex #13 对话的是没价值,我说的是分享软件 /硬件 /咨询类的 |
16 tanmrs48 2023-06-26 14:02:07 +08:00 看了下上边优质的很多都加过,最优质的比如羊毛白嫖都在小众的交流群里,我有一个想法是写一个程序可以每天监控群里的聊天记录,然后关键词定位, |
![]() | 17 BeiChuanAlex OP @kingwrcy 可以爬,有现成的接口。 |
![]() | 18 BeiChuanAlex OP @tanmrs48 tg 有客户端接口,可以用这个来做 |
19 opwwecccc 2023-06-26 14:07:40 +08:00 高,实在是高 |
![]() | 20 garipan 2023-06-26 14:08:59 +08:00 确实不错!谢谢 po 主 |
![]() | 21 cooper2020 2023-06-26 15:17:48 +08:00 好玩的尝试。顺便提一句,__pycache__目录不必同步 git |
![]() | 22 BeiChuanAlex OP @cooper2020 谢谢提醒 |
![]() | 23 ysc666 2023-06-26 16:17:36 +08:00 卧槽 真好!!! |
![]() | 24 elechi 2023-06-26 16:26:33 +08:00 谢谢 OP ,回家慢慢看 |
![]() | 25 encro 2023-06-26 16:30:21 +08:00 自从注册了 tg 账号,每天收到小姐姐相关短信。 |
![]() | 26 simon633 2023-06-26 16:45:15 +08:00 我是 APPDO 数字生活指南的频道主,非常感谢楼主的推荐~ |
27 modao3 2023-06-26 16:45:34 +08:00 ![]() ios 鸡神-专注分享破解 这个频道主被盗号的运营着了,建议删掉.发的文件可能不安全 |
![]() | 28 BeiChuanAlex OP @modao3 好的,感谢反馈 |
![]() | 29 delete26 2023-06-26 16:52:19 +08:00 现在公开的群和频道大多都是黑产和色情了,早些年人少的时候都没有这些垃圾广告群,自从公开的群被大量机器人入侵用来自动发广告之后,很多群都变成私人群了 |
![]() | 30 ivstranger 2023-06-26 16:53:44 +08:00 仔细再筛选,估计 6%都不到(很荣幸上榜) |
31 modao3 2023-06-26 16:57:30 +08:00 再推一下我另外一个 @recommend3 |
![]() | 32 BeiChuanAlex OP @delete26 用户越多,管理的成本会直线上升,运营一个好的账号本身也是需要不小的成本,私人群确实能更方便的管理。 |
33 zhuxc 2023-06-26 17:01:59 +08:00 start |
![]() | 34 BRmeng 2023-06-26 17:05:49 +08:00 能不能偷偷扒点糟粕,我想批判一下 |
![]() | 35 BeiChuanAlex OP @BRmeng 在项目的 telegram_info.sql 文件中可以自己看 |
36 xpl8435 2023-06-26 17:38:04 +08:00 分享一个 TCL 家电内购群组,有需要可加: https://t.me/tcl_jiadian |
![]() | 37 Tyrant1984 2023-06-26 18:01:04 +08:00 真是好东西啊,感谢楼主~~ 现在 TG 天天只能看看梯子为什么又崩了,感觉很浪费,现在可以好好用一下了 |
38 hoor 2023-06-26 18:10:13 +08:00 TG 里面有讨论 xray ,sinbox 协议等很多知识,还有一些面板 jd 等。。。还有机器人可以玩, signal 却没有多少人用 |
![]() | 39 BeiChuanAlex OP @hoor 科学上网相关内容的账号没有放到表格里,相关的账号里太多买卖机场的内容了,很难筛选。 |
![]() | 40 zong400 2023-06-26 18:25:00 +08:00 偷偷看看有什么优质的 |
![]() | 41 opengps 2023-06-26 18:35:12 +08:00 怪不得我至今觉得 tg 用不起来,原来比例这么低,我还没进去 |
42 guazila 2023-06-26 18:40:23 +08:00 中国数字时代竟然不算涉政,不错。 |
![]() | 43 BeiChuanAlex OP @guazila 已删除 |
44 Jirajine 2023-06-26 19:18:43 +08:00 ![]() 如何定义优质?随便扫了一眼,色情、piracy 很多,新闻频道要么涉政要么机场网络相关,币圈相关和菠菜也分不开。你这样筛选意义不大,既会包含“低质量”内容,也会漏掉“高质量”内容。 什么内容算“高质量”取决于用户的需求,建议用更中立的方式,不要根据内容主题筛选,只把充斥 spam 刷屏、广告、废弃无管理等信噪比低的过滤掉就行。 |
![]() | 45 Arvin567 2023-06-26 20:18:53 +08:00 今日最佳帖子 |
46 lewi 2023-06-26 20:29:33 +08:00 点赞! |
![]() | 47 BeiChuanAlex OP @Arvin567 谢谢 |
![]() | 48 lizhesystem 2023-06-26 22:45:41 +08:00 好好好! |
49 jzyzcz 2023-06-26 23:01:17 +08:00 telegram 上有些搜群的机器人,输入关键字,就会返回一些相关的群。 很好奇他们是怎么实现的,是有可以爬所有公开群 /频道的官方接口吗? |
![]() | 50 BeiChuanAlex OP ![]() @jzyzcz 应该是爬的,然后做成接口 |
51 hanguofu 2023-06-27 06:02:38 +08:00 "买了一个域名" : 好评~~~ 楼主是个热心人! |
![]() | 52 HungryOrangeCat 2023-06-27 08:48:54 +08:00 ![]() @jzyzcz 这个我研究过一段时间,他们是从一个群的聊天信息里提取 TG 链接然后循环迭代这个做一个广度优先搜索类似的过程,缺点就是很消耗 TG 账号,因为一个 TG 账号每天只能访问 200 左右群组 /频道 |
![]() | 53 invdan 2023-06-27 10:26:30 +08:00 感谢收录了我的两个群组 |
54 simazilinVV 2023-06-27 16:13:21 +08:00 你以为我上 tg 想干嘛 |
![]() | 55 RageBubble 2023-06-30 17:16:26 +08:00 感谢,本来想用爬虫自己去爬 tgstat ,telegram-store 这样的数据库,没想到你已经做好了。 |
![]() | 56 RageBubble 2023-06-30 17:31:42 +08:00 有一点没搞懂,为什么你说爬取了 5000 多个样本,但下载了 github 里面的 csv 后 excel 里打开只有 2209 行的数据? |
![]() | 57 RageBubble 2023-06-30 17:39:32 +08:00 @RageBubble #55 希望大佬能分享下全部的 5000 多条数据 |
![]() | 58 RageBubble 2023-06-30 17:48:47 +08:00 或者只给 3036 账号也可以,再次膜拜感谢 |
![]() | 59 BeiChuanAlex OP @RageBubble 只有 2000 多行数据是因为我用不能展示的关键字给过滤掉了,有太多的不适合展示的账号,就直接删掉了,最终只剩下这么多了,这还不是最终结果,最后一个一个点进去看,然后筛选,很费劲的。 |
60 oddboy 2023-07-01 09:11:51 +08:00 via Android 这属于在老鼠屎里舀清汤了,辛苦了大佬 |
![]() | 61 RageBubble 2023-07-04 12:01:46 +08:00 @BeiChuanAlex #59 大佬我还有个问题 我研究了一下 scrapy 代码 为啥你不直接数据上传到 supabase 的数据表里,而是单独使用本地的 PostgreSQL 数据库呢 |
![]() | 62 BeiChuanAlex OP @RageBubble 我也上传到了 supabase ,本地也有。但是这些数据全是原始数据,里面有大量的不适宜数据,不能直接公开。 |
![]() | 63 RageBubble 2023-07-04 14:10:56 +08:00 @BeiChuanAlex #62 噢噢 没事 到时候我自己再爬一次就是了 |
64 giter 2023-07-29 17:42:13 +08:00 请问楼主,Github 的 md 文件爬不出来结果是怎么回事?其它都能爬,就是 Github 不能爬。 ``` INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) INFO: Closing spider (finished) ``` |
![]() | 65 BeiChuanAlex OP @giter 给的信息太少了,很难分析原因。爬虫爬不出数据,要么是代码写的有问题,要么被反爬了。 |
66 cqcn1991 2023-11-28 10:57:51 +08:00 @BeiChuanAlex 想请问一下 LZ, 这个爬虫是能爬每个 channel 的消息嘛?还是能干什么? |
![]() | 67 BeiChuanAlex OP ![]() @cqcn1991 不能爬取消息,只能获取群的介绍。 |