RSS404 - 为任何网站生成 RSS 地址[Demo]

2022-03-12 11:25:42 +08:00
 prasanta

案例地址

https://demo.rss404.com/?url=https%3A%2F%2Fwww.v2ex.com

Demo 只提取前 20 个数据,加了请求锁,会比较慢。

你可以尝试任何正常的列表页面(肉眼可以轻易判断主列表)。

背景

  1. 搞了一个自动识别网页列表的算法,想把它应用起来。有开源的,但是效果不理想。
  2. 自动解析内容页的开源框架已经很多了,后期都可以集成起来。

原理

  1. selenium 加载网页
  2. 机器学习视觉分类+NLP 分析解析列表页面的列表项,并提取出列表页的每一项

讨论目的

  1. 这个项目还有哪些想象力?出了 RSS 之外?
  2. 是否有市场?
  3. 你作为用户想要什么?

16503 次点击
所在节点    分享创造
36 条回复
ptsa
2022-03-12 14:55:08 +08:00
打不开
prasanta
2022-03-12 15:26:27 +08:00
@ptsa 再试试呢 现在用内网穿透做的 demo
tfdetang
2022-03-12 15:39:26 +08:00
算法工程师?其实没有特别理解为何要视觉分类这一步,感觉会严重拖慢整体流程。 理论上用 html tag + word bag 或者 Tf-IDF 就已经能很好的分类了啊。

我最近做过一个类似的,不过是从任意网页里提取结构化信息的,是公司的项目
prasanta
2022-03-12 15:54:03 +08:00
@tfdetang

我也发现了这个问题。
最后也是希望能够从网站和 App 中自动提取结构化信息。如果用传统的分析方法,需要写很多逻辑处理 html ,未来也难以操作 app/doc/pdf 等其他类型的输入

如果我能直接从截图中提取出结构化信息,那么我就不用关心输入是什么了,变成了和人眼一样的提取逻辑.

人眼也是,先分类,看到这个页面是列表 /详情 /评论 /etc ,然后对应不同的类型,去寻找结构化信息的特征,比如价格,那么就寻找字体大点的,红点的,位置靠近商品标题的数字信息(比如这里还直接消除了字体反爬虫的问题)。
Sailwww
2022-03-12 20:40:34 +08:00
对我来说,主要需求不在于判断列表(因为高质量信息源有限,而且需要特殊处理的终究是少数),而在于把文档型的数据比较完美的解析出来,所以希望用机器学习做一下这个;另外比较好奇视觉分类用的是 resnet 吗?大概多少层的网络,QPS 之类的数据或者训练过程不知道方便透露吗,我其实很想用深度学习做一些相关的事情,一直是在学术数据集上做实验,想试试自己落地一些应用。
xiaozizayang
2022-03-12 21:47:28 +08:00
我最近业余也在做这个工作,为任何网站提取列表项数据生成 rss
prasanta
2022-03-13 00:15:04 +08:00
@xiaozizayang 等我找你沟通一波
prasanta
2022-03-13 00:16:41 +08:00
@Sailwww 文字区块的位置,字体大小粗细长短,作为特征 /etc ,普通分类即可。
abersheeran
2022-03-13 12:29:14 +08:00
Sailwww
2022-03-13 12:31:18 +08:00
@prasanta 你这样一说就是没用上图像啊...看样子就是特征分类,没用到深度模型看起来?另外这个和 RSSHub 的主要区别在?感觉 RSSHub 通过类似众筹的方式匹配规则已经很完善了
hackpro
2022-03-13 14:24:48 +08:00
很棒 速度上可以优化下吗 感觉要等好久😂😂
prasanta
2022-03-13 14:31:55 +08:00
@Sailwww 和 RSSHub 的区别就是不需要人维护了。
prasanta
2022-03-13 14:33:06 +08:00
@hackpro Demo 确实比较慢,但是最后的逻辑不会是实时解析。最后的方案是,定时解析后写入缓存即可,调用 rss 链接直接从缓存中取数据。
prasanta
2022-03-13 14:34:22 +08:00
@abersheeran 这不是最后的效果,最后调用端的感知是<100ms 的,因为会直接取缓存
ClarkAbe
2022-03-13 15:32:43 +08:00
可以.....开源了踢我一脚
prasanta
2022-03-13 16:07:09 +08:00
@ClarkAbe 对这个东东有什么建议吗?
ClarkAbe
2022-03-13 19:14:12 +08:00
@prasanta 应该没有......部署单二进制不知道算不算.....
prasanta
2022-03-14 08:57:00 +08:00
更新了主页和优化了对英文的兼容
tfdetang
2022-03-14 10:23:25 +08:00
@prasanta 用视觉的方式直接进行提取固然是最端到端的解决方案,但是实现层面上确实有些难的。 其实我的思路是用页面的 xpath 信息作为页面文本的额外特征,这样也能实现类似于人眼对于页面结构的识别。 目测效果还可以,但是还没设计严谨的实验来验证效果提升
prasanta
2022-03-14 13:29:44 +08:00
@tfdetang

目前我这个算法最重要的东西是 getComputedStyle. 总的逻辑也是最后生成 xpath.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/839833

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX