场景
在很多时候,有很多爬虫的需求,其实需求都是大同小异,不过是在某某网页上爬取某某东西。把这些东西给到业务。以往的做法是:每一个需求写一个c#或者python脚本或者应用,进行爬取,这相当的费时费力,我个人是特别讨厌做一些重复的工作的。现在人工智能发展迅速,我们可不可以使用AI帮我们完成这件事呢?答案是可以的,勇敢的人先享受世界,所以爬虫宝应运而生。
技术栈
爬虫宝的技术栈是:java + python 。我的主语言并非Python,我对Python的熟悉程度不过是继承于java,我对它内部构造其实了解的不多,但是它在爬取网页或者做一些脚本,学习规则上面的复杂度明显是比java小的。
在这里python负责的根据需求 使用自动化工具去浏览器搜索,点击和补偿(所谓补偿,就是如果爬虫挂壁了,我们可以利用Python同样完成这件事,补偿的实现方式是规则自学习,这个下面会介绍)将结果回传java,java负责任务的调度,还要AI接口的调用和结果的保存(实现DataHandler即可实现你自己的保存方式)。如果AI无额度了,或者网络出现了问题,回调Python的补偿爬虫。
案例梳理
例如:我要去亚马逊 爬取所有 自行车产品的销量,评论等信息。
无自动化时代
那么我们第一步就是打开亚马逊,第二步就是在引擎上搜索 "自行车",第三步 挨个点击自行车,一个个拉下来,结果少还好说,多了人废了。有时候人操作说不定还搞错了也未可知。就算人出色的完成了,你的领导告诉你,自行车没什么用,我要山地车。你是不是很心累?
自动化时代
我们写一个自动化程序,帮我们爬取我们要的东西,可能 自行车 改为 山地车就完事了,你也可以配置,但是如果 今天爬 亚马逊,明天不爬亚马逊了,明天要一个 Bestbuy 上的电脑产品,说 业务后天就要,蛋疼了 ,通宵了一晚上。这样也不好
智能爬虫时代
我写好了程序,今天要亚马逊的自行车 好,自行车好啊,我配置 亚马逊网址 关键字 自行车。 第二天 Bestbuy 上的电脑产品 好,电脑好,我配置 Bestbuy 网址 电脑产品。 实现方式就是 AI + 自动化帮你爬取,我不用管这个页面长什么样子,我也不用管有多少东西,我甚至不用管你有多少页。我直接自动化 打开你的浏览器 打开亚马逊网页 ,好了,OK了 此时,我的第一步 完成了,第一步完成了之后,开始校验 是否打开了网页,打开了,OK,那么此时会将html传到后台 AI分析,搜索框在哪里,怎么找到它,返回搜索框的元素,点击元素,OK了结果出来了,继续Python回传页面,继续分析,这是商品页,有商品了,爬下来,就这样一步步的,你拿到了所有东西,你人呢,就坐在哪里,喝喝咖啡,逛逛GITHUB,完事了,OK了。
结束
内测中,代码预计将于 2024年1月末上线gitte/github。