日期:2014-05-16  浏览次数:20319 次

php 采集

<?php

$con= file_get_contents("http://17173.com");

$preg = "#<A href='(.*)' target='_blank'>(.*)</A>#";

preg_match_all($preg, $con, $arr); 

//print_r($arr);

foreach($arr[1] as $id=>$v){

  echo "<a href=$v>".$v."</a> ".$arr[2][$id]."<br>";
  
}


?>



此段代码用于采集页面表面和url地址
但是采集不到数据
但此网站上,是有此类页面地址的:<A href="http://news.17173.com/" target=_blank>新闻中心</A> 
不知道为啥采集不到
$preg = "#<A href='(.*)' target='_blank'>(.*)</A>#";
这句中的两个#号是什么作用,去除会报错

------解决方案--------------------
$preg = '/<A href="(.*)" target=_blank>(.*)</A>/Ui';
------解决方案--------------------
<?php
 
$con= file_get_contents("http://17173.com");
 
$preg = '#<A href="(.*)" target="_blank">(.*)</A>#i';
 
preg_match_all($preg, $con, $arr); 
 
//print_r($arr[1]);
 
foreach($arr[1] as $id=>$v){
 
  echo "<a href=$v>".$v."</a> ".$arr[2][$id]."<br>";
   
}
 
 
?>


# 与 / 同理
注意单双引号
大小写