當前位置:首頁 » 編程語言 » php採集

php採集

發布時間: 2022-01-08 22:21:21

php使用3種方法實現數據採集 什麼叫採集

下面的php代碼可以將HTML表格的每行每列轉為數組,採集表格數據
<?php function get_td_array($table) { $table = preg_replace("'<table[^>]*?>'si","",$table); $table = preg_replace("'<tr[^>]*?>'si","",$table); $table = preg_replace("'<td[^>]*?>'si","",$table); $table = str_replace("</tr>","{tr}",$table); $table = str_replace("</td>","{td}",$table); //去掉 HTML 標記 $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); //去掉空白字元 $table = preg_replace("'([rn])[s]+'","",$table); $table = str_replace(" ","",$table); $table = str_replace(" ","",$table); $table = explode('{tr}', $table); array_pop($table); foreach ($table as $key=>$tr) { $td = explode('{td}', $tr); array_pop($td); $td_array[] = $td; } return $td_array; } ?>

Ⅱ php循環採集出文章列表

在你的代碼基礎上稍微修改了一下 如下

<?php
header("Content-type: text/html; charset=gb2312");
$url = "http://top.qidian.com/Book/TopDetail.aspx?TopType=6"; //目標站
$fp = @fopen($url, "r") or die("超時");
$fcontents = file_get_contents($url);

preg_match_all("/ <a target=\"_blank\" href=\"http:\/\/www.qidian.com\/Book\/(.*?)\.aspx\"/is", $fcontents, $regs);
print_r($regs[0]);
?>

Ⅲ 怎麼用PHP採集別的網上的數據

簡單的有個file_get_content函數,然後寫正則規則匹配內容,存資料庫
如果需要登陸的,用curl,還有可以用PHP的DOM庫替換正則表達式
Python和Java等都有beautifulsoup這個第三方庫,用來採集非常棒

Ⅳ PHP中怎樣實現文章採集

只舉例說明,生產環境你自己根據情景去搞
$url = 'www.domain.com';

$content = file_get_content($url);//抓取網頁全部內容
preg_match( string pattern, string subject [, array matches ] );//正則獲取自己需要的內容
入庫~
完事了。。。
當然,情形復雜,例如需要登錄,採集目標限制等問題,這再說...
實際使用的時候,可以直接使用Snoopy類,提供好多方法供使用,比自己去造輪子要安全,當然,你可以在她的基礎上再去造輪子~~~

Ⅳ php 採集個網站內容

$data=get_meta_tags('url');

echo $data['description'];

Ⅵ php自動採集如何實現

PHP自動採集能一定程度的實現,部分網站的頁面結構存在一定的共通點,比如文章內容頁的標題,不少網站是標記在<h1>里的,實在不行,就採集<title>,絕對能採到,然後、過濾掉title裡面的網站名稱。
採集文章內容就相對麻煩,但是通過層層分析,層層剝離,一定要進行大量的網站分析,寫出多套通用性比較強的採集規則,程序在採集的時候也要進行大量分析。
有幾點是可以肯定的,那就是絕對不能要求採集效果達到為某個網站單獨寫採集規則來的效果好,也絕對不是能匹配任意網站,頂多能匹配部分網站。

Ⅶ PHP採集網頁中指定的內容

你如果是單個頁面的話不需要正規表達式,只要找到自己需要的部分看看前面和後面有什麼唯一性的標識,截取出來就可以了。

Ⅷ 用PHP進行數據採集

$strPreg = "|<td[^>]+>([^<]+)<\/td>\s*<td[^>]+>([^<]+)<\/td>\s*<td[^>]+>([^<]+)<\/td>|U";

搞定了才發現你都沒懸賞分。。。

Ⅸ php怎麼實現採集網易新聞,並且帶有分頁效果

對於第一項表單而言
比如:
內容的第一頁http://php168.com/1/index-22.html
內容的第二頁http://php168.com/1/index-22_2.htm
那麼表單填.html
分析規則就是對比第一頁與第二頁的網址從左到右哪個字元出現不同,就把第一頁網址之後的字元復制出來

如果是這種情況
http://php168.com/1/index.php?id=2&page=1
http://php168.com/1/index.php?id=2&page=2

對於這種情況,他後面不同的是一個數字,即是頁碼數字的話,就不需要填寫.留空即可
對於第二項表單而言
第一頁http://php168.com/1/index-22.html
第二頁http://php168.com/1/index-22_2.htm
那麼右邊的表單填_[page].htm
分析規則就是對比第一頁與第二頁的網址從左到右哪個字元出現不同,就把第二頁的網址之後的字元復制出來,並把變動的頁碼數字用[page]替換

如果是這種情況
http://php168.com/1/index.php?id=2&page=1
http://php168.com/1/index.php?id=2&page=2

對於這種情況,他後面不同的是一個數字,即是頁碼數字的話,更簡單,只需要填寫[page]即可
對於第三項表單而言
第一頁http://php168.com/1/index.html
第二頁http://php168.com/1/index_1.html
此時屬於怪癖的,理論上應該是
第三頁http://php168.com/1/index_2.html
所以表單請選擇是,但一般情況都是選否的,也就是說頁碼數字為1卻是第二頁.頁碼數為2卻是第三頁.就屬於特殊現象.需要選則是.

Ⅹ php採集規則怎麼寫

這些都是正則表達式,自己網路先學會正則表達式再說吧。。

只要是能正常訪問都可以採集的。

我解釋一個吧
/^http:\/\/www\.cpp1\.cn\/News\/[0-9]{4}-[0-9]{1,2}\/[0-9]{1,2}\/[0-9]+\.htm/i
就是匹配www.cpp1.cn/News/'這里是任意四個0-9的數'-『一個或者二個0-9的數』/'一個或者二個0-9的數'/'任意數量的0-9的數'.htm

例如http://www.cpp1.cn/News/2011-7/20/120216.htm

熱點內容
訪問極路由硬碟 發布:2024-05-08 18:15:15 瀏覽:717
小學生如何自學編程 發布:2024-05-08 18:14:31 瀏覽:560
資料庫復制軟體 發布:2024-05-08 18:00:30 瀏覽:238
python軟體測試 發布:2024-05-08 18:00:24 瀏覽:698
mac開發php工具 發布:2024-05-08 17:59:03 瀏覽:81
安卓伺服器如何搭建伺服器 發布:2024-05-08 17:33:27 瀏覽:538
什麼安卓手機玩韓信好2021 發布:2024-05-08 17:29:01 瀏覽:32
信用卡登陸密碼忘了怎麼辦啊 發布:2024-05-08 17:01:06 瀏覽:220
java設置圖片 發布:2024-05-08 17:00:59 瀏覽:89
c語言空格刪除 發布:2024-05-08 17:00:22 瀏覽:573