php数据采集和表达式 php采集网页数据

PHP正则表达式抓取数据

$string_1 = '

创新互联公司专业为企业提供宁武网站建设、宁武做网站、宁武网站设计、宁武网站制作等企业网站建设、网页设计与制作、宁武企业网站模板建站服务,十余年宁武做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

tr

td width=15% align=rightb电话:/b/td

td width=85%86666947/td

/tr

tr

td align=right b地址:/b/td

td 春熙路8号/td

/tr

tr

td align=right b人均:/b/td

td span class=f_red_14b14/span元/td

/tr

tr

td align=rightb菜系:/b/td

td快餐/小吃/td

/tr

'

;

preg_match_all ("|td[^]*([^(b)].*)/td|", $string_1, $out, PREG_PATTERN_ORDER);

print_r($out[1]);

---------------------------------------------------------

输出结果为:

Array

(

[0] = 86666947

[1] = 春熙路8号

[2] = 快餐/小吃

)

PHP分割,并循环获取数据,需用到正则表达式,高分悬赏,答对追加100分

?php

$str = "ABC'; F(ZZZ), KSE KKS(YYY), PSX-D.M(XXX)";

$arr = explode(",",$str);//分割成数组

foreach($arr as $value){//用foreach循环,也可以用for循环

$out = array();//储存匹配的数组

$title = "";//储存title部分

$text = "";//储存链接显示文本

//先把括号里的内容和括号外的内容匹配到数组$out

preg_match("|(.+)\((.+)\)|",$value,$out);

//括号里的内容就是title

$title = $out[2];

//把括号外的内容中所有符号替换成-(这里去了一下首尾空格)

$text = preg_replace("|(\W+)|","-",trim($out[1]));

//OK了,输出

echo "a href=\"#\" title=\"{$title}\" /{$text}/a,";

}

/**

最后输出:

a href="#" title="ZZZ" /ABC-F/a,a href="#" title="YYY" /KSE-KKS/a,a href="#" title="XXX" /PSX-D-M/a,

*/

php 百度 知道数据采集

问题其实不难,自己都能写。给你几个思路吧:

1.在百度知道中,输入linux,然后会出现列表。复制浏览器地址栏内容。

然后翻页,在复制地址栏内容,看看有什么不同,不同之处,就是你要循环分页的i值。

当然这个是笨方法。

2.使用php的file或者file_get_contents函数,获取链接URL的内容。

3.通过php正则表达式,获取你需要的3个字段内容。

4.写入数据库。

需要注意的是,百度知道有可能做了防抓取的功能,你刚一抓几个页面,可能会被禁止。

建议也就抓10页数据。

其实不难,你肯定写的出来。 还有,网上应该有很多抓取工具,你找找看,然后将抓下来的数据

在做分析。写入数据库。


本文名称:php数据采集和表达式 php采集网页数据
本文来源:http://azwzsj.com/article/dopsegd.html