我需要抓住一些網站的數據(內容) 這些網站提供我需要抓住的,並根據內容抓取網站數據(內容)的最佳方式是什麼?
任何軟件就可以做到這一點它們進行過濾列表? PHP腳本? 如果不是,我可以從哪裏開始編程此功能?
我需要抓住一些網站的數據(內容) 這些網站提供我需要抓住的,並根據內容抓取網站數據(內容)的最佳方式是什麼?
任何軟件就可以做到這一點它們進行過濾列表? PHP腳本? 如果不是,我可以從哪裏開始編程此功能?
沒有神奇的東西。因爲每個頁面的內容都不一樣。
當你談論PHP時,我會給你一些關於這種語言的線索。
您可以使用curl來獲取網頁。
獲取內容後,您可以使用regular expressions解析它。
根據你想要做什麼,你必須自己開發應用程序。
使用file_get_contents()函數返回整個文件的字符串,然後解析字符串以提取內容。
其他選項將捲曲或wget的,這將讓整個文件,然後用諸如AWK和SED或PERL
處理這些要看你需要多久刮目標頁面。如果偶爾使用PHP,但您需要從瀏覽器中觸發它,並記住PHP中的regexp可能非常耗時。
如果您想要定期掃描文件,那麼可以從cron運行帶有cURL/wget + sed和awk的BASH腳本,無需干預並在後臺運行。
如果它的PHP ..可能是這可以幫助你.. http://www.thefutureoftheweb.com/blog/web-scrape-with-php-tutorial
// get the HTML
$html = file_get_contents("http://www.thefutureoftheweb.com/blog/");
preg_match_all(
'/<li>.*?<h1><a href="(.*?)">(.*?)<\/a><\/h1>.*?<span class="date">(.*?)<\/span>.*?<div class="section">(.*?)<\/div>.*?<\/li>/s',
$html,
$posts, // will contain the blog posts
PREG_SET_ORDER // formats data into an array of posts
);
foreach ($posts as $post) {
$link = $post[1];
$title = $post[2];
$date = $post[3];
$content = $post[4];
// do something with data
}
當然,你需要定製根據您的需求正則表達式。
此外,你可以找到其他例子負荷.. http://www.google.com/search?source=ig&hl=en&rlz=&=&q=php+web+scraper&aq=f&oq=&aqi=
BTW,目標網站可能需要somesort數據錄入,查看其內容,例如我們選擇從下拉列表中的城市。 – 2009-10-26 09:30:23
和NO API來抓取這些網站數據 – 2009-10-26 09:30:53