爬虫估计已经泛滥了,但是没有通用的解决方案。
好比大家想造一辆汽车,网络上各种开源的发动机,底盘,你可以轻易的组装出自己的汽车,然后跟我说,看,组装出一台汽车没什么难的,难的当然是量产了,下次你再想要一辆汽车,你还得重复上面的过程。而且你的方案,别人又没法轻易使用,好比你给自己做了一件衣服,衣服好看是好看,别人想穿在自己身上,就未必合适了。
市场上面一些解决方案。逛了一圈论坛,的确也发现一些不错的软件,但感觉都存在不少问题。
我的软件就是为了解决上述问题而产生。
1 、不会编程也可以编写采集规则
2 、几分钟内就可以完成一条规则,刷刷刷的采集了。而你还在那调试代码。
3 、通用的解决方案,基本上大部分网站都可以采集。对于一些个性化的需求,未来估计会开放一些接口,就可以针对性的低成本开发自己的爬虫系统。
当然了,上面都是功能上的描述。
还有其他功能:
1 、跨平台。目前支持 win 、 mac 、未来会支持 linux 。
程序不是.net 开发的,我最烦那些软件下载完还提醒我去下载什么 .net framework 框架,何况我很多年不用 win 了。 mac 下面的此类工具真的挺稀少。
2 、可以使用浏览器访问,也可以在软件里面操作。就像你家的路由器,你可以通过网页去控制。这个软件也是一样。如果你装在服务器,你可以通过网页轻易去访问,操作。这个功能非常有用。
3 、当然了,使用很简单。不用你安装什么环境。下载即可使用。开箱即用。写规则也很简单。这些可以慢慢体会。
界面截图:
下载地址: http://www.dxcer.com/
官方论坛: http://bbs.dxcer.com/
目前已经有不少用户使用这个软件,且评价都不错。
1
siknet 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 可以的,你要采集哪里,给我地址,我试试。
|
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 1
cookie 来模拟登录时最简单的了,这个软件看起来很强大,下载用用
|
47
yivanus 2017-01-15 13:35:42 +08:00 1
看了后面的讨论,感觉目前这样就可以了。登录那一块实在没必要花大功夫做。
|
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#了还是~
|