
正文
php正则抓取网页数据 php正则提取
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php正则表达式怎么抓取网页数据
会用正则就会抓取。
不会正则php正则抓取网页数据,一时半会也教不错。
不过php正则抓取网页数据,推荐你使用phpQuery这个框架,用jQueryphp正则抓取网页数据的使用器来抓取数据。
相关问答
Q1: PHP怎样抓取网页代码中动态显示的数据
你是想抓别人网页上ajax动态载入的数据吧?
1、要找到它的ajax载入的URL地址
2、利用PHP的file_get_contents($url)函数读取那个url地址。
3、对抓取到的内容进行分析或正则过滤。
Q2: PHP如何正则表达式提取网页内容
如果你要div class="nav" monkey="nav"和div class="head-ad"之间的所有源码,用 preg_match 就可以,不用preg_match_all ,如果你要里面的所有的 li/li标签中的内容,可以用preg_match_all
//提取所有代码
$pattern = '/div class="nav" monkey="nav"(.+?)div class="head-ad"/is';
preg_match($pattern, $string, $match);
//$match[0] 即为div class="nav" monkey="nav"和div class="head-ad"之间的所有源码
echo $match[0];
//然后再提取li/li之间的内容
$pattern = '/li.*?(.+?)\/li/is';
preg_match_all($pattern, $match[0], $results);
$new_arr=array_unique($results[0]);
foreach($new_arr as $kkk){
echo $kkk;
}
Q3: php 正则获取网站内容
我写好了,用Dreamweaver调试过,可以匹配。
先用下面正则提取需要的代码段:
Draw Result.+?(\d{1,2})/td.+?(\d{1,2})/td.+?(\d{1,2})/td.+?(\d{1,2})/td.+?(\d{1,2})/td.+?(\d{1,2})/td
再用正则替换,把该内容中除了数字以外的代码去除:
替换成$1,$2,$3,$4,$5,$6 即可得到 4,7,8,33,36,43
Q4: 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
Q5: php 用正则表达式提取网页内容
$str = 'li class="blackArea" data-sourcelatest-elem="item" data-tvid="694641300" data-vid="7b0b59d2ef0cb1152368ca9be9a4ae76" data-idx="4" data-sourcelatest-month="" data-delegate="videoPlayList"
p class="video_position video_rb"span class="v_name" rseat="xj_ty3"第2017-06-08期/span/p
h3 a title="微体兔新版馋嘴小面" href="javascript:void(0);" rseat="xj_vn3"微体兔新版馋嘴小面/a /h3
/li';
$pattern = "/[\s\S]*li[^]+data-tvid[=\"\']+([^\"\']*)[\"\'][^]*data-vid[=\"\']+([^\"\']*)[\"\'][\s\S]*/i";
$tvid = preg_replace($pattern, "$1", $str);
$vid = preg_replace($pattern, "$2", $str);
$reg = "/[\s\S]*p[^]*((?:(?!\/p)[\s\S])*)\/p[\s\S]*/i";
$p = preg_replace($reg, "$1", $str);
$reg = "/[\s\S]*h3[^]*((?:(?!\/h3)[\s\S])*)\/h3[\s\S]*/i";
$h3 = preg_replace($reg, "$1", $str);
echo $tvid."\n".$vid."\n".$p."\n".$h3;
php正则抓取网页数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php正则提取、php正则抓取网页数据的信息别忘了在本站进行查找喔。





