我需要抓住一些网站数据(内容) 这些网站提供我需要抓取的列表并根据内容过滤它们
任何软件都能做到吗? php脚本? 如果没有,我在哪里可以开始编程这个功能?
答案 0 :(得分:1)
使用file_get_contents(),它返回整个文件的字符串,然后解析字符串以提取内容。
其他选项是cURL或wget,它将获取整个文件,然后使用AWK和SED或PERL处理它们
取决于您需要刮取目标网页的频率。如果偶尔使用PHP,但是你需要从浏览器触发它并在PHP中记住regexp可能非常耗时。
如果你想定期抓取文件,那么可以从cron运行带有cURL / wget + sed和awk的BASH脚本而无需干预,并且在后台运行。
答案 1 :(得分:1)
如果它的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=
答案 2 :(得分:0)
没有神奇的东西。因为每个页面内容都不同 当你谈到PHP时,我会用这种语言给你一些线索。
您可以使用curl获取网页 获取内容后,您可以使用regular expressions解析它。
根据您的要求,您必须自己开发应用程序。