一时兴起,写了一个比较通用的 web 采集系统

2020-06-23 16:34:01 +08:00
 aboutboy

为了方便,就直接用的 laravel7.0+querylist4.2 实现。 打算先把架子搭起来,后面视需求再慢慢完善和优化。

好久没用过新版的 querylist 了,有不少地方和之前的用法不太一样了,所以昨天刚接触时遇到不少坑,很烦躁。最终还是一点点解决了包括列表采集、页面乱码等问题。

今天又调试到这个点,总算搞得比较满意了。

目前针对三个形式差异比较大的网站分别写了采集规则。测试都很满意。

大概的思路是,先采集分类,把分类数据保存到一个分类表。同时还有一个任务表,会记录分类的 url 和状态信息。然后再根据分类 url 去采集列表信息,也就是详情页的 url,也保存到任务表。同时根据规则里配置的列表页分页规则去获取各列表页的分页 url,也会保存到任务表。通过列表页的分页 url 可以把所有的详情页 url 拿到。

最后就是用详情页 url 去采集标题和正文了,同时也要根据规则里的详情页分页规则判断是否需要去递归获取下一页的标题和正文。最后把详情页的标题和正文入库。

今天一口气把递归采集分页给实现了,这个相当给力。

其实代码量不大,不到 300 行代码,目前基本就用了一个文件完成所有功能(为方便先用的 artisan command 模式)。代码太拙,就不献丑了。本来打算贴个任务执行的截图,不过没有图床,暂时就不弄了。

我现在写的三个规则是针对的故事、笑话类网站。因为实在不知道还有哪些更有意思的内容了。

很想做网站,求推荐适合做哪些内容?后面可能会考虑做一些内容相关的小程序。

1954 次点击
所在节点    分享创造
1 条回复
ebingtel
2020-06-24 09:07:47 +08:00
其实都可以……只要爬得多 就算都是垃圾 引擎也会多看你一眼

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

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

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

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

© 2021 V2EX