• 01
  • Mar

经常会上一些查询网站,比如你在一个站长站上查询alexa排名,而这个站本身也并没有存有alexa的数据,那他是怎么实现的呢,精灵就讲讲在php下实现这种方法的思路。
查询类网站的基本思路
简单的说,实际上你所在的站等于是另一个用户,比如你在a站查询alexa,你给a站递交一个请求,而a站这时就会冒充一个用户去访问alexa,向alexa.com提交查询命令,这时a站就会得到alexa返回的一些数据,在通过正则将数据整理,最后的alexa排名数值,在返回给你。

这里举一个查询的例子,你做一个表单,用户可以在你这里输入字符串,然后点查询就返回在google的查询结果。

比如我们查询”seo“,我们首先看在google中键入seo查询后的url:http://www.google.cn/search?hl=zh-CN&q=seo&meta=&aq=f

我们发现是get方式,这时我们就可以利用php里的fsockopen函数来实现机器提交了。代码段如下:

 php-ge.jpg

不知道为什么wp不让发这段代码,返回服务器禁止错误,晕死,只能截代码图给大家看了T_T 

这里我们就会得到$fp变量,$fp里面便是查询后返回的html代码,然后你再利用正则表达式,将你要的代码挑选出来,返回给你的用户就行了。
注意:上面这种方法只适用于父站是采用get方式提交的,父站是post方式的话,精灵以后会写出来对应post的方法^^

原载: 上海SEO优化研究中心 | 作者: 精灵SEO
原文链接:http://www.lijinglin.com/php-get-chaxun.html
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

Tags: ,

阅读过本文的朋友还读过:

» You can leave a comment, or trackback from your own site.

RSS feed | Trackback URI

4条评论 »

Comment 由 seo9
2008-03-01 19:49:17

哦,可以模仿用户提交吗?有这技术,有空向你请教

Comment 由 精灵
2008-03-02 19:46:31

当然可以了,不然那些网站是怎么做出来的,呵呵,很久没见了啊~

 
 
Comment 由 网络营销
2008-03-05 14:14:38

基本原理都理解,但是在代码方面欠缺点,所以我自己无法实现.

Comment 由 精灵
2008-03-16 11:02:04

恩,真正操作起来的时候还会遇到很多问题,比如频繁抓取原站点有的会把你的ip屏蔽掉,这样操作起来就比较麻烦。

 
 
名称 (必填)
E-mail (required - never shown publicly)
URI
您的评论 (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> in your comment.