php抓取
A. php獲取網頁內容的幾種方法
簡單的收集下PHP下獲取網頁內容的幾種方法:
用file_get_contents,以get方式獲取內容。
用fopen打開url,以get方式獲取內容。
使用curl庫,使用curl庫之前,可能需要查看一下php.ini是否已經打開了curl擴展。
用file_get_contents函數,以post方式獲取url。
用fopen打開url,以post方式獲取內容。
用fsockopen函數打開url,獲取完整的數據,包括header和body。
B. php抓取div內容
<?php
$text=file_get_contents('http://cn.bing.com/knows/?tid=');
preg_match_all('/<divid="hp_text"class="largeText">([^</div>]+)</div>/',$text,$arr);
var_mp($arr[1]);
?>
輸出:
array (size=1)
0 => string '有那麼個地方,曾經讓你想逃;有那麼個地方,生活過才知曉;有那麼個地方,聽別人講起你會心懷驕傲;有那麼個地方,一直是你心底的寶。' (length=189)
C. php怎麼抓取其它網站數據
最基本的原理就是獲取該網頁的內容之後 通過正則去匹配 獲取自己想要的內容
D. php抓取網頁指定的內容
我給你一個思路, 代碼我也不會給的, 會被網路刪的.
抓取網上的數據, 一般用正則去匹配. 你可以匹配開頭為<div class="so_weather">的, 然後匹配結尾. 結尾盡量是這個開頭div的下一個同級div, 如<div id="asda">, 這樣. 然後得到的數據用strip_tags函數將html代碼都去了, 得到的結果就是你想要的
E. php抓取數據
像這樣採集的程序一般把循環的速度搞一下,如果太快,一個網速跟不上,一是伺服器設置了防採集或是防CC攻擊等,如果你每5分鍾採集一次,這樣,肯定不會受到限制,如果你一分鍾採集100或是更多次這伺服器會限制你訪問,認為你是惡意攻擊,明白?就像網路或google 機器人一樣,如果不做限制採集過多,會把伺服器拉死。
F. PHP抓取網頁指定內容
<?php
/*
* 如下: 方法有點笨
* 抓取網頁內容用 PHP 的正則
* 用JS每隔5分鍾刷新當前頁面---即重新獲取網頁內容
*
* 註: $mode中--<title></title>-更改為所需內容(如 $mode = "#<a(.*)</a>#";>獲取所有鏈接)
*
* window.location.href="http://localhost//refesh.php";中的http://localhost//refesh.php
* 更改為自己的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 = "http://www..com"; //目標站
$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="http://localhost//refesh.php";
}
setInterval("ref()",300000);
//-->
</script>
G. PHP怎樣抓取網頁代碼中動態顯示的數據
你是想抓別人網頁上ajax動態載入的數據吧?
1、要找到它的ajax載入的URL地址
2、利用PHP的file_get_contents($url)函數讀取那個url地址。
3、對抓取到的內容進行分析或正則過濾。
H. 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;
}
?>
I. 怎樣用PHP抓取整個網站的鏈接
$html = file_get_html('http://www.google.com/');
// Find all links
foreach($html->find('a') as $element)
echo $element->href . '<br>';
不知道你PHP支持不支持 file_get_html這個函數
但是像你說那樣的抓 肯定會超時的
J. php如何抓取網頁中的數據
<divid="Div3"class="modResumeInfo">
<divclass="title"onclick="clickLabel(rsmEExCt)">
<divclass="dcrLdcrArrowGreen"></div>
<h3>外語能力</h3>
</div>
<divid="Div4"class="content">
<divclass="workExCom">英語:讀寫能力精通|聽說能力熟練</div>
<divclass="workExCom">韓語:讀寫能力一般|聽說能力良好</div>
<divclass="workExCom">德語:讀寫能力一般|聽說能力一般</div>
</div>
</div><!--modResumeInfo結束-->