找回密码

火车采集器软件交流官方论坛

搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 66927|回复: 221

规则教程第三U Destoon B2B会员采集入库(申请车厢)

[复制链接]
发表于 2010-10-21 09:40:22 | 显示全部楼层 |阅读模式
本帖最后由 lypying 于 2010-10-21 17:33 编辑

复杂程度:中
难度系数:中
建议阅读人群:通用
所用技术:找规则
好的最近做了一个destoon的采集,挺麻烦的。首先介绍下destoon系统。在昨天晚上我第一次知道了destoon系统是个B2B的,下载下来安装一下,居然没装上。具体为什么没装上这个不在这里用过多的内容去描述了。没找到问搜索引擎,学习是问出来。但是我个人认为能自己搞定的,就别太麻烦别人,因为一个问题对于你来说可能很难,可能对于其他人来说很简单,你在问人家的同时,无形中占用了别人的时间,我认为这样不太好,自己多研究也是对自己的负责,也是一个态度。
首先,我建议在写一个系统的采集的时候,最好能在自己的电脑上安装这个系统,做事情要对自己负责也要对别人负责。
装好系统后进后台,分析下这个系统如何进行采集。

其实我也是个懒人,我去destoon官方论坛看过,下载了几个会员注册的模块,哎真是不花钱+不自己动手真是不行,居然都TMD不能用,打开一看,都不知道抓的什么包。字段都对应不上。没办法自己抓包做了个模块,本文讲的是采集规则,对模块制作不做讲解。
好的,我要采集的是ag365.com这个站,如果该站站长看到了,真是对不起。
进入该站,点击企业,会发现列出了企业列表 但是在最后一行却显示“仅列举最新的3000条信息”我XXXX的 3000条怎么够啊

看到右侧没有,简洁列表点下居然豁然开朗

就是他了,在这个页面能抓到3W多企业数据,不错已经满足了
用鼠标滑过连接 找小规律都含有detail 这个很好。一定包含这个就可以

以上是我活的连接的规则,为什么要排除VIP和ID 我发现里面有些地址是带VIP的企业。规则与不带VIP的不一样。VIP估计就是这个网站的付费用户了。给个多级域名。先排除掉,不过排除掉的同时要考虑,是否有必要重新抓这些信息。因为如果这些信息很多,你不抓会少很多企业信息的。其实笨笨的我真的去抓了一下这个VIP的信息。让我崩溃的是写完规则测试后发现,其实VIP信息在上面的简洁列表里已经有了。只是没有用VIP形式显示而已。其实这部分没有什么难度,稍微会一点采集的人对获得这个页面的信息应该没什么问题。
让我郁闷的事情在后面了。destoon的会员名.开始我想用公司名称转化为拼音,最会员名
下图有修改位置

灯转换完入库的时候我才发现NND  destoon系统居然要求会员名不能有大写字母,火车生成的拼音的开头字母是大写的,无奈,我只好问火车的客服,答案是不能生成小写的,我XXXX的又让我郁闷了。不过没事这就要提到本文的另一重点。如果发生后台系统对一些数据的限制,在不破坏程序安全性的前提下,去除掉这些限制。比如发帖时候的认证码。如果后台不能设置取消。我们就手动修改源代码,让这个认证不起作用。也可以另存为一个页面,供火车头采集时使用。而正常用户发帖的时候还是有限制的。
说会destoon,这个系统是php的,这让我头大了。PHP我是一点一点一点都不熟。不过没关系问搜索引擎啊。搜索后我发现PHP有个函数
strtolower()是将字符串转化为小写的。不错就用它了,既然火车头解决不了,就改源程序吧。打开源程序我就蒙了。我上哪找去啊。这就要提到另一个技巧了。字符批量查询工具。当我输入一个不合法的用户名的时候 会出现右侧的提示,如图

好就是他了会员名应为小写字母(a-z)、数字(0-9)、下划线(_) ,其实也并不需要全复制上来,会员名应为小写字母就足够了。
找到了member.inc.php里面有这个字,打开看看,我卡 好多内容,超找下发现了这几个字

这个文件可能是一个提示信息的集合,
$L['member_username_match'] = '会员名应为小写字母(a-z)、数字(0-9)、下划线(_)';
看到了哈。顺藤摸瓜,继续找member_username_match它
在member.class.php里找到了 看源码
  1. function is_username($username) {
  2.                 global $MOD, $L;
  3.                 if(!check_name($username)) return $this->_($L[[color=Red]'member_username_match'[/color]]);
  4.                 $MOD['minusername'] or $MOD['minusername'] = 4;
  5.                 $MOD['maxusername'] or $MOD['maxusername'] = 20;
  6.                 if(strlen($username) < $MOD['minusername'] || strlen($username) > $MOD['maxusername']) return $this->_(lang($L['member_username_len'], array($MOD['minusername'], $MOD['maxusername'])));
  7.                 if($MOD['banusername']) {
  8.                         $tmp = explode('|', $MOD['banusername']);
  9.                         foreach($tmp as $v) {
  10.                                 if(strpos($username, $v) !== false) return $this->_($L['member_username_ban']);
  11.                         }
  12.                 }
  13.                 if($this->username_exists($username)) return $this->_($L['member_username_reg']);
  14.                 return true;
  15.         }
复制代码
在这里,这就好了如果愿意继续往下查,就看看check_name函数是怎么check用户名的,不过不用了到此就可以搞定了 只需要在global $MOD, $L;
后面加一条曾经在搜索引擎上找到的函数就够了
$username=strtolower($username);
转换username为小写字母 保存 在到注册页面试一试


还真不出了。最后证实一切正常,大写字母也可以注册了。
不过我考虑到,官方为什么要禁止大写字母注册那,一个函数而已对于他们来说转换下也没什么问题啊。想给官方打个**问个清楚,后来我打消了这个念头,因为我发现了一个更好的办法来注册。既不用大写字母,又没有重复。细心的读者看到这,一定很崩溃。我XXXX的 刷我们是吧,有好方法不早说。哈哈~~不然。学习就是在不断的改进,不断的思考中前进的。这次不不修改代码,不代表你下一次不修改,多学一种方法难道不好么。呵呵

下面这个方法要感谢destoon官方职业收费做采集的朋友给我的灵感,顺便也打听下采集destoon的价格哈哈。如果哪位仁兄看到本文,先对您说声对不起了。
在采集内容页的时候我们会发现,有一个数字总是不变而又不重复的。
比如这个地址http://ag365.com/c%5Fdetail/231653/ 后面的231653 在内容页多次出现,我判断这个应该是目标网站系统生成的ID值。就用它了
查看目标站内容页源代码,好多地方都可以用,我最后选择了
<INPUT type="hidden" name="Sw_company_id" value="231653">  这个地方。用正则获得了值
正则如下
<INPUT type="hidden" name="Sw_company_id" value=[参数]">
仔细的人会发现哥们 写错了吧 为什么不是value="[参数]" 这不多个"号么。我是故意这样做的,一串数字,你后台看着多晕,我用替换替换掉了"这样英文数字结合好看一些不至于那么乱。等到采集供应的时候也可以与企业关联
继续采集,又发现郁闷事情了。企业注册email是必填的,很多企业没有写email 如果我不添,最后不入库,所以我决定设置一个唯一值。测试下
更崩溃了。email不能有重复。
这里大家可以看下规则教程第二U ,就是因为这个问题我才去生成随机email用来注册的。不过睡了一觉发现我错了。随机email效率非常不搞。3W数据,你怎么随机才能保证不重复那。所以又有了一招。
前面提到的哪个ID是不重复的
<INPUT type="hidden" name="Sw_company_id" value="[参数]>
还用这个,不过后面多个" 吧这个替换成email的格式 @fads.com 就可以了 保证不带有重复的。
会员采集OK了 奉上我的成果。




好的 此教程到此结束,就难度来说,对destoon的采集没有规则第一U种对AJAX采集那么复杂,不过我相信很多朋友也遇见过类似的问题,想大家共同探讨。

结尾付个规则

游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入会员

x

评分

1

查看全部评分

发表于 2010-10-24 21:27:08 | 显示全部楼层
rrrrrrrrrrrrrrrrrrrrrrrrrr
发表于 2010-10-24 22:21:20 | 显示全部楼层
值得研究一下,谢谢
发表于 2010-10-25 08:17:34 | 显示全部楼层
本帖隐藏的内容需要回复才可以浏览
发表于 2010-10-25 11:04:00 | 显示全部楼层
好的 此教程到此结束,就难度来说
发表于 2010-10-25 21:44:35 | 显示全部楼层
哈哈 学习精神不错
发表于 2010-10-25 22:34:24 | 显示全部楼层
我也在学习
发表于 2010-10-27 16:44:24 | 显示全部楼层
,我来学习一下啊,
发表于 2010-10-28 07:43:20 | 显示全部楼层
学习精神不错
发表于 2010-10-28 18:47:19 | 显示全部楼层
顶起来,很好很强大的说
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

温馨提示:建议您联系官方定制服务,通过官方支付方式完成支付。您与其他非官方账号发生的交易,我方概不承担责任。网络有风险,交易需谨慎

QQ| 手机版|Archiver| 火车采集器官方站

Copyright © 2001-2013 Comsenz Inc.  Template by Comeings! All Rights Reserved.

Powered by Discuz! X3.4( 皖ICP备06000549 )

快速回复 返回顶部 返回列表