重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

php抓取网站指定数据 js获取php数据

怎么用php采集网站数据

简单的分了几个步骤:

创新互联是一家专注网站建设、网络营销策划、微信平台小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十余年以来,已经为上千广告制作各业的企业公司提供互联网服务。现在,服务的上千客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。

1、确定采集目标

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

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

4、入库

php中想要抓取网页中某一段的数据的代码

?php

$url='abc.com/';

$data=get_file($url);

$pattern='你的内容正则表达式';

perg_match($pattern,$data,$match);

print_r($match);

function get_file($url)

{

$curl = curl_init($url);

curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($curl);

return $data;

}

?

PHP抓取网页指定内容

?php

/*

* 如下: 方法有点笨

* 抓取网页内容用 PHP 的正则

* 用JS每隔5分钟刷新当前页面---即重新获取网页内容

*

* 注: $mode中--title/title-更改为所需内容(如 $mode = "#a(.*)/a#";获取所有链接)

*

* window.location.href="";中的

* 更改为自己的URL----作用:即刷新当前页面

*

* setInterval("ref()",300000);是每隔300000毫秒(即 5 * 60 *1000 毫秒即5分钟)执行一次函数 ref()

*

* print_r($arr);输出获得的所有内容 $arr是一个数组 可根据所需输出一部分(如 echo $arr[1][0];)

* 若要获得所有内容 可去掉

* $mode = "#title(.*)/title#";

if(preg_match_all($mode,$content,$arr)){

print_r($arr);

echo "br/";

echo $arr[1][0];

}

再加上 echo $content;

*/

$url = ""; //目标站

$fp = @fopen($url, "r") or die("超时");

$content=file_get_contents($url);

$mode = "#title(.*)/title#";

if(preg_match_all($mode,$content,$arr)){

//print_r($arr);

echo "br/";

echo $arr[1][0];

}

?

script language="JavaScript" type="text/javascript"

--

function ref(){

window.location.href="";

}

setInterval("ref()",300000);

//--

/script

php用正规表达式获取网页指定内容

?php

$str

=

str

th1/th

td

class="key"a

href="网址1"

target="_blank"你要的地址1/a/td

th2/th

td

class="key"a

href="网址2"

target="_blank"你要的地址2/a/td

th3/th

td

class="key"a

href="网址3"

target="_blank"你要的地址3/a/td

th4/th

td

class="key"a

href="网址4"

target="_blank"你要的地址4/a/td

th5/th

td

class="key"a

href="网址5"

target="_blank"你要的地址5/a/td

str;

$p

=

'#td

class="key"a

href="(.*)"

target="_blank"(.*)/a/td#iUs';

preg_match_all($p,$str,$ar);

print_r($ar[0]);

?

$ar[0]

的所有值就是你想要的地址了

测试过

没问题


分享题目:php抓取网站指定数据 js获取php数据
文章位置:http://cqcxhl.cn/article/hgsjcc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP