用php搜索网站数据 php 搜索功能

怎么用php采集网站数据

简单的分了几个步骤:

成都创新互联公司专注于企业全网营销推广、网站重做改版、五莲网站定制设计、自适应品牌网站建设、H5网站设计商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为五莲等各大城市提供网站开发制作服务。

1、确定采集目标

2、获取目标远程页面内容(curl、file_get_contents)

3、分析页面html源码,正则匹配你需要的内容(preg_match、preg_match_all),这一步最为重要,不同页面正则匹配规则不一样

4、入库

php怎么抓取其它网站数据

可以用以下4个方法来抓取网站 的数据:

1. 用 file_get_contents 以 get 方式获取内容:

?

$url = '';

$html = file_get_contents($url);

echo $html;

2. 用fopen打开url,以get方式获取内容

?

$url = '';

$fp = fopen($url, 'r');

stream_get_meta_data($fp);

$result = '';

while(!feof($fp))

{

$result .= fgets($fp, 1024);

}

echo "url body: $result";

fclose($fp);

3. 用file_get_contents函数,以post方式获取url

?

$data = array(

'foo'='bar',

'baz'='boom',

'site'='',

'name'='nowa magic');

$data = http_build_query($data);

//$postdata = http_build_query($data);

$options = array(

'http' = array(

'method' = 'POST',

'header' = 'Content-type:application/x-www-form-urlencoded',

'content' = $data

//'timeout' = 60 * 60 // 超时时间(单位:s)

)

);

$url = "";

$context = stream_context_create($options);

$result = file_get_contents($url, false, $context);

echo $result;

4、使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展

$url = '';

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, $url);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

PHP实现搜索查询功能的方法技巧

下面是首页显示数据表package中的内容,但是有个条件,显示在首页的内容还必须是 :字段status=0,且printing=0的数据才能在首页列表中显示出来。

页面上有一个“搜索”功能,输入条件后就会根据条件来进行查询。

一般的搜索的话,只要在首页显示列表方法index()中给一个:

?

$map=array();//初始化查询条件

$map=$this-_search();//调用查询方法

$total = $this-Model-where ($map)-count(); //这个主要是用来计算页面显示数据条数的

if ($total == 0) {

$_list = '';

} else {

$_list = $this-Model-where ($map)-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();

}

然后,就是写一个_search():

protected function _search(){

$map = array ();

$post_data = I ( 'post.' );

if ($post_data ['packageid'] != '') {

$map ['packageid'] = array (

'like',

'%' . $post_data ['packageid'] . '%'

);

}

return $map;

}

最后,在设置的“搜索”菜单中,调用这个搜索方法。

但是,这个搜索的.同时,还要确保在字段status=0,且printing=0的数据中进行搜索。

这个限制条件该加在什么地方。各种尝试和查询后,才知道。限制条件直接加在SQL语句中就行了(如下红色的地方)。(我自己试的时候一直在如下蓝色的地方加条件,屡试屡败!)

$map=array();

$map=$this-_search();

$total = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-count();

if ($total == 0) {

$_list = '';

} else {

$_list = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();

}

更多相关文章推荐:


网页题目:用php搜索网站数据 php 搜索功能
本文来源:http://scyanting.com/article/doosssi.html