
首先你先确定你是不是需要跨域去访问你的目标站点:aaacom(跨域指的是你当前所在的网址跟你input的网址是否同源,因为浏览器对跨域访问是有限制的,所以这点需要考虑。)
如果需要跨域,且aaa不允许跨域访问的话,这件事情只能在后端去做,否则可以在前端实现。
然后大概讲一下实现思路,不管是后端还是前端思路都差不多,首先你发起一个;
简单的写了一下,主要是写正则,去匹配读取过来的html代码字符串,有什么不明白的可以私密我,纯手打,望采纳!
PHP语言为服务器端的脚本,是在服务器上被执行,与Javascript不同,javascript、CSS、都能完全被保存。
客户端请求时,PHP语言被解析执行,生成html代码,通过web服务器发送给浏览器,
浏览器上已经没有PHP语言的任何信息。
如果通过浏览器,是永远无法获取PHP源码。
一、用file_get_contents函数,以post方式获取url
<php
$url= '>
$data= array('foo'=> 'bar');
$data= >
$opts= array(
'>
'method'=> 'POST',
'header'=>"Content-type: application/x->
"Content-Length: " strlen($data) "\r\n",
'content'=> $data
)
);
$ctx= stream_context_create($opts);
$html= @file_get_contents($url,'',$ctx);
二、用file_get_contents以get方式获取内容
<php
$url='>
$html= file_get_contents($url);
echo$html;
>
三、用fopen打开url, 以get方式获取内容
<php
$fp= fopen($url,'r');
$header= stream_get_meta_data($fp);//获取报头信息
while(!feof($fp)) {
$result= fgets($fp, 1024);
}
echo"url header: {$header} <br>":
echo"url body: $result";
fclose($fp);
>
四、用fopen打开url, 以post方式获取内容
<php
$data= array('foo2'=> 'bar2','foo3'=>'bar3');
$data= >
$opts= array(
'>
'method'=> 'POST',
'header'=>"Content-type: application/x->
urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n"
"Content-Length: " strlen($data) "\r\n",
'content'=> $data
)
);
$context= stream_context_create($opts);
$html= fopen('>
$w=fread($html,1024);
echo$w;
>
五、使用curl库,使用curl库之前,可能需要查看一下phpini是否已经打开了curl扩展
<php
$ch= curl_init();
$timeout= 5;
curl_setopt ($ch, CURLOPT_URL, '>
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents= curl_exec($ch);
curl_close($ch);
echo$file_contents;
>
如果你要<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;
}
以上就是关于怎样用PHP或者js获取网页中某个部分的值全部的内容,包括:怎样用PHP或者js获取网页中某个部分的值、求php大神写段代码, 其实就是一个最简单的采集,输入一个url,然后正则表达式截取网页里的tit、如何在一个网站中提取出PHP源代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)