找回密码

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

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

原创火车采集器接口制作教程(嘉缘人才系统接口采集实例)

[复制链接]
发表于 2011-1-23 14:35:53 | 显示全部楼层 |阅读模式
本帖最后由 lypying 于 2011-1-23 21:07 编辑

难度系数:中高
适合人群:具有一定编程能力的人
既然一票难求哥们就不回家了,过年么,无业游民的我也没啥事情。给一朋友写完一个嘉缘人才系统ASP版本的采集接口。发现论坛上有关接口的教程很少。所以决定写下此文,送人玫瑰手留余香么。本文只介绍接口的相关知识,以及写接口需要注意的内容。并不提供接口下载,我花时间做的手写了几千行代码,在没进入共产主义之前我还是不想共享的。如果您不是抱着一个学习交流的态度,想免费弄个接口请不要阅读此文。此文仅献给那些有心学习的人。管理员是否酌情加点车厢,攒个车厢换个版本。个人版用的真是太不爽了。
好的 言归正传
第一章、火车接口是什么?
通俗一点说火车采集器的接口文件就是一个写入数据库的代码。ASP接口是用ASP语言写入数据库,PHP接口就是用PHP语言编程写入数据库。单独的写入数据库并不难,就算您不是ASP或者PHP程序员,上百度搜索下两种语言的入库教程就可以轻松做一个简单的接口。当然.NET和其他语言也不例外。
1、什么样的程序使用接口
有人会问有后台WEB发布、数据库发布模块为什么要写接口。无论是后台WEB发布还是数据库发布都不是万能的。但是接口一定是万能的。为什么这么说。比如嘉缘人才网这个程序,后台管理员是要通过注册用户,然后完善企业招聘以及个人招聘,这就分了两个步骤,每个步骤写入不同的表。显然你要在后台做WEB发布只能完成一步。就数据库发布模块来说确实不错,可以操作许多个表,但是数据库发布也有不严谨的地方,比如数据库设计的字段类型是INT类型,结果你采集的数据全角半角部分插入了中文,这个就是问题,当然您也可以用插件判断解决这个问题。但是对于大多免费版个人版的用户显然这是不可能的。
那么什么样的程序使用接口哪?
第一,数据入库操作需要几步完成。发布数据并不是在一个页面中完成的。
第二,数据库发布模块制作很繁琐,几个表之间存在复杂的关联关系。
这样就需要使用接口来完成采集操作。
2、使用接口的好处
使用接口可以将写入不同表的数据进行整理,统一进行入库操作。
使用接口可以使一些不符合规范的数据进行过滤。
3、使用接口所需要的知识储备
您至少需要掌握一门语言(asp/php/.net/jsp等)入库操作,熟悉SQL基本插入 修改语句。熟悉ACCESS,MYSQL,SQL SERVER的基本操作
4、开发火车采集器接口应注意什么
尽量使用源程序的函数,尽量使用源程序的过滤判断,这样避免数据不规范的时候入库失败等问题
第二章、嘉缘人才网企业人才接口开发实例
1、熟悉数据库接口,了解入库操作
人才系统是比较复杂的系统之一,因为我拿到的是嘉缘人才网ASP+ACCESS版本,仅就此版本为例。SQL SERVER版本也一样,一般一个公司开发的同一语言不通数据库的程序,数据库结构应该是完全相同的。否则这公司又要重新开发程序,不是很费成本
就个人入库操作来说,先注册个用户。用抓包软件抓包。看这个数据是通过哪个文件写入数据库的。

看到是POST到http://127.0.0.1/Regdisposal.asp ... l&Member_type=1 这个地址,其实通过这个地址我们就可以得到以下信息
1、POST到的文件是Regdisposal.asp
2、带了两个参数Action、和Member_type
通过字面意思Action的行为是Action=Regdisposal注册用户,Member_type会员类型为1,是个人 可能其他的数字就是不同的类型
到网站源代码中找到Regdisposal.asp这个文件
打开后先搜索Action
看到如下代码
  1. Action=trim(Request("Action"))
  2. Select Case Action
  3.         Case "checkregmsg"
  4.                 Call checkregmsg()
  5.         Case "Regdisposal"
  6.                 Call Regdisposal()
  7. End Select
复制代码
Action的行为有两个 一个是我们需要的Regdisposal调用了Regdisposal()函数,那我们就先看这个,不看checkregmsg(),但是通过字面意思理解可能是检查注册信息的作用。
在所搜Regdisposal()
找到了Sub Regdisposal() 看源代码
先找到入库的操作
  1. set rs=server.createobject("adodb.recordset")
  2. sql="select * from JOB_Member where Member_login='"&login&"' or Member_email='"&email&"'"
  3. rs.open sql,conn,1,3
  4. if not rs.eof  then
  5.         response.write ("<script language=JavaScript>{alert('用户名或邮箱存在!');location.href = 'javascript:history.back()';}</script>")
  6.         Response.End()
  7. else
复制代码
看到入的表是JOB_Member 并对是否有重复的用户名和邮箱进行了判断,如果在接口的制作过程中建议使用源程序的函数,这样对数据存储的安全性更好一些。
看下面的代码
  1. rs.addnew
  2.                 rs("Member_login")=login
  3.                 rs("Member_pwd")=pwd
  4.                 rs("Member_email")=email
  5.                 rs("Member_mobile")=mobile
  6.                 rs("Member_sendemail")=sendemail
  7.                 rs("Member_Auditing")=flag
  8.                 rs("Member_regdate")=Now()
  9.                 rs("Member_typeid")=0
  10.                 rs("Member_groupid")=0
  11.                 rs("Member_loginnum")=0
  12.                 rs("Member_balance")=0
  13.                 rs("Member_integral")=0
  14.                 rs("Member_LoginIP")=trueIP
  15.                 rs("Member_logindate")=now()
  16.                 rs.update
复制代码
这就是对一些数据的入库操作。可以看是注册用户名 密码 EMAIL 手机号 SENDMAIL 一些标志位和时间 还有注册的IP

未完待续

本帖子中包含更多资源

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

x

评分

1

查看全部评分

发表于 2011-1-23 15:54:38 | 显示全部楼层
不完全版。。。再接再力
发表于 2011-1-24 09:34:11 | 显示全部楼层
广告位帮你留着,支持你,等着下文。
发表于 2011-1-24 11:28:37 | 显示全部楼层
回复 1# lypying


    不错不错,看后领悟很深,期待完整佳作!
发表于 2011-1-24 11:37:59 | 显示全部楼层
有教程下次可以自己来了
发表于 2011-1-24 12:11:23 | 显示全部楼层
期待楼主再接再厉~~
发表于 2011-1-25 21:11:42 | 显示全部楼层
学习了~~~~~~~~~~~~
发表于 2011-1-31 02:12:18 | 显示全部楼层
期待着继续……谢谢!
发表于 2011-1-31 11:42:52 | 显示全部楼层
很给力啊,希望楼主继续给力
发表于 2011-2-19 12:48:37 | 显示全部楼层
新手学起来好难哦,学习啦
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

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

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

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

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

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