
爬虫估计已经泛滥了,但是没有通用的解决方案。
好比大家想造一辆汽车,网络上各种开源的发动机,底盘,你可以轻易的组装出自己的汽车,然后跟我说,看,组装出一台汽车没什么难的,难的当然是量产了,下次你再想要一辆汽车,你还得重复上面的过程。而且你的方案,别人又没法轻易使用,好比你给自己做了一件衣服,衣服好看是好看,别人想穿在自己身上,就未必合适了。
市场上面一些解决方案。逛了一圈论坛,的确也发现一些不错的软件,但感觉都存在不少问题。
我的软件就是为了解决上述问题而产生。
1 、不会编程也可以编写采集规则
2 、几分钟内就可以完成一条规则,刷刷刷的采集了。而你还在那调试代码。
3 、通用的解决方案,基本上大部分网站都可以采集。对于一些个性化的需求,未来估计会开放一些接口,就可以针对性的低成本开发自己的爬虫系统。
当然了,上面都是功能上的描述。
还有其他功能:
1 、跨平台。目前支持 win 、 mac 、未来会支持 linux 。
程序不是.net 开发的,我最烦那些软件下载完还提醒我去下载什么 .net framework 框架,何况我很多年不用 win 了。 mac 下面的此类工具真的挺稀少。
2 、可以使用浏览器访问,也可以在软件里面操作。就像你家的路由器,你可以通过网页去控制。这个软件也是一样。如果你装在服务器,你可以通过网页轻易去访问,操作。这个功能非常有用。
3 、当然了,使用很简单。不用你安装什么环境。下载即可使用。开箱即用。写规则也很简单。这些可以慢慢体会。
界面截图:
下载地址: http://www.dxcer.com/
官方论坛: http://bbs.dxcer.com/
目前已经有不少用户使用这个软件,且评价都不错。
1 Hansah 2017-01-12 08:36:57 +08:00 看了下,功能已经很强了,对于普通采集对象来说基本够用了。 后续版本会加入代理功能吧?单代理或者代理池或者二次代理都可以 |
2 milu05163614 OP @siknet 后续开发 linux 版本。放在服务器上面分布式采集才是王道。什么代理采集,这些肯定是标配。加入分布式采集,将任务分解出去,可以我们服务器后台帮你消化这些任务,也可以你自己搭建集群服务器去干活。 |
3 milu05163614 OP @siknet 目前可能对于通用性的采集的确够满足了。从用户反馈来看,几乎 95%以上的需求都可以满足。如果想要开发更加复杂的爬虫,可能以后开放一些二次开发的接口,基本写任何爬虫都没问题了。 |
4 zqjilove 2017-01-12 11:55:50 +08:00 基本用用还可以,碰到 JSON 数据加载的,就是完全不能用了。 |
5 milu05163614 OP @zqjilove 可以的,你要采集哪里,给我地址,我试试。 |
&nbp; 6 milu05163614 OP @zqjilove 我举个例子吧。 稀土掘金博客的采集。这个页面: https://gold.xitu.io/user/576353b9207703006b9a557d 源码里面是没有 [最新文章] 的数据的,这个是 ajax 请求。像你说的, json 数据加载。但是软件是可以采集这种数据的。 |
7 zqjilove 2017-01-12 12:30:58 +08:00 @milu05163614 下载来再仔细看看,初略看官方文档,貌似没看到。 |
8 milu05163614 OP @zqjilove 自己参考一下这个规则。 http://ww1.dxcer.com/iOS%E5%BC%80%E5%8F%91-%E5%8A%BC%E5%93%A5stone-%E6%8E%98%E9%87%91.dxc 字符串方式去获取。下次演示规则里面放一个演示一下。 |
9 zqjilove 2017-01-12 13:04:32 +08:00 @milu05163614 字符串提取后的, JSON 数据 Unicode 问题,貌似没办法解决 |
10 milu05163614 OP @zqjilove 如果程序判断出来数据格式是 json ,会自己转换的。你说说你采集哪里有问题,我测试一下就知道了。 |
11 zqjilove 2017-01-12 13:47:43 +08:00 |
12 milu05163614 OP 你这个很简单。我上面给的就是例子。 <img alt="img" src="http://ww1.dxcer.com/6D3FB20A-2755-4BA0-872C-EAA51C180537.png"> 填 >"url":"[data]", |
13 milu05163614 OP 回复 居然不支持 markdown 代码。 截图:<img alt="img" src="http://ww1.dxcer.com/6D3FB20A-2755-4BA0-872C-EAA51C180537.png"> 提取规则: "url":"[data]", @zqjilove |
14 zqjilove 2017-01-12 14:09:36 +08:00 @milu05163614 !!!!方便的话,给个联系方式 |
15 sharpdevelop 2017-01-12 14:13:23 +08:00 为什么我下载下来的安装包都是乱码的,解压也无法解压 |
16 milu05163614 OP @sharpdevelop 有些用户有这个问题,好像解压软件的问题,我在 mac 平台打包的,估计跟这个有关系。但是大部分用户都没问题。所以解决的办法,换一个解压软件试试。 |
17 milu05163614 OP @zqjilove QQ 452192831 |
18 miao 2017-01-12 21:25:31 +08:00 建议开发 Linux 服务器版, 开机运行, 这样直接在 vps 采集, 在办公室里通过远程网页采集, 那是相当愉快的. |
19 milu05163614 OP @miao 老夫正有此意。 |
20 miao 2017-01-12 21:31:32 +08:00 @milu05163614 感谢感谢. |
21 milu05163614 OP @miao 目前软件可以在 linux 图形界面下面运行没问题的。不过很多服务器都是命令行。这个需要花点时间。 |
22 miao 2017-01-12 21:38:23 +08:00 @milu05163614 是啊. 比较复杂. |
23 spice630 2017-01-12 23:03:28 +08:00 需要登陆的可以不?比如 zhihu 难道你的采集程序不是前后端分离,后端基于 linux 开发? |
24 milu05163614 OP @spice630 1 、可以采集登录可见的内容,甚至可以采集一些论坛回复才能看见的内容。设置 cookie 就行了。详细教程看这里 http://www.dxcer.com/guide/cookie.html 2 、我不知道你说的什么前后端是啥。什么基于 linux 啥的,我听不懂。 |
25 spice630 2017-01-13 00:27:51 +08:00 |
26 milu05163614 OP @spice630 手动登录有什么问题吗?难道要大家输入账号密码,然后程序去登陆?想不通为啥需要这样做。 |
27 spice630 2017-01-13 01:21:13 +08:00 @milu05163614 不会 被封? |
28 milu05163614 OP @spice630 说实话。很少。不是很少,是没遇到过。一个网站不可能因为一个用户频繁访问而封掉这个账号。这样做,成本很高。程序上面得写程序检测,又不能误杀什么的。这么一套东西下来,很繁琐。 至少我没有遇到这类情况。 |
29 spice630 2017-01-13 01:34:29 +08:00 @milu05163614 早点 睡觉~~~ |
30 spice630 2017-01-13 08:21:18 +08:00 via iPhone @milu05163614 有个问题 如果不能自动登录 那我每天要采集几十个网站的最新消息怎么办 |
31 taolu729099134 2017-01-13 10:54:44 +08:00 同 15 楼 我的也出现乱码 |
32 milu05163614 OP |
33 milu05163614 OP @taolu729099134 用的啥解压软件 |
34 v9ox 2017-01-14 12:42:43 +08:00 via iPhone 马克了 很强大 明天就下载用用 |
36 milu05163614 OP @yivanus 是的,首先产品会变得复杂了。你需要填用户名、密码、有时候还需要填其他东西,还得告诉程序,登陆成功的标志是什么,如果程序内置自己判断的话,后面的代码可想而知。 从程序、产品上都是成本很高的东西。手动填 cookie 没什么问题,这是最简便成本最低的方式。 |
37 yivanus 2017-01-14 15:08:10 +08:00 如果用户自己实现登录到时很简单的。用户名和密码 可以使用 lastpass 这类 浏览器插件 来帮忙完成。成本也就只在 复制 cookie 那一下。 |
38 milu05163614 OP @yivanus 目前软件的方式就是,用户自己在浏览器登录,然后复制 cookie 就可以采集登录可见的内容。 这个过程很简单也没有什么技术门槛。除非有更好的方式。 |
39 yivanus 2017-01-14 15:50:22 +08:00 @milu05163614 可以尝试 解决不需要 验证码那一类的网站,软件可否打开浏览器登录页,然后让 lastpass 这一类软件帮忙自动输入,然后登录,抓取 cookie ?? 或者可以通过分析 网页表单,让用户 设置用户名和密码之类,通过 js 直接提交完成登录,抓取 cookie 。 |
40 milu05163614 OP @yivanus 你现在还是觉得复制个 cookie 很麻烦?只需要用户在浏览器登录,然后软件自己就自动获取 cookie ,复制都不需要?还是什么,我没听明白。 |
41 spice630 2017-01-14 16:03:51 +08:00 @milu05163614 是不是只需输入一次 ?只要采集软件不重启就不需要第二次输入? |
42 milu05163614 OP @spice630 不需要再输入多次。就好比我登录这个论坛,这个论坛根据 cookie 判断我是否是登录状态。只要我把这个 cookie 给程序,程序就能代表我天天登录这个网站。这个网站也没叫你天天登录吧,说明 cookie 一般是长期有效的。 |
43 milu05163614 OP @milu05163614 软件即使重启,依然有效。就像你把浏览器关了,你再直接输入论坛网站,论坛不也照样认定你是已经登录状态吗? |
44 spice630 2017-01-14 16:11:43 +08:00 @milu05163614 那还好 |
45 peneazy 2017-01-15 06:34:12 +08:00 via Android 支持一下,正需要这东西 |
46 mingyun 2017-01-15 10:09:02 +08:00 cookie 来模拟登录时最简单的了,这个软件看起来很强大,下载用用 |
47 yivanus 2017-01-15 13:35:42 +08:00 看了后面的讨论,感觉目前这样就可以了。登录那一块实在没必要花大功夫做。 |
48 wtcoder 2017-01-16 01:47:59 +08:00 话说 electron 开发的桌面应用,真的只能有这么大吗 - - |
49 milu05163614 OP @wtcoder 只能有这么大,这意思是说软件太大,还是太小了。我没领会。 |
50 wtcoder 2017-01-23 10:47:42 +08:00 @milu05163614 太大了 :) |
51 wtcoder 2017-01-23 10:48:50 +08:00 @milu05163614 我本来想用 electron 做点简单功能性桌面程序,现在改用 C#了还是~ |