我想从 ehow.com 中提取有关不同主题的数据以存储在我的数据库中。问题是我必须筛选多个网页才能从该网站获取信息。为了浏览大量网页并提取我需要的数据,我会使用像 SimpleHTMLDOM 这样的抓取工具还是需要使用网络爬虫?
问问题
2728 次
3 回答
2
首先考虑是否允许您在 eHow.com 上这样做。我想你不能按照你在这里解释的方式做到这一点。
无论如何,关于你的问题:
Crawler
从页面移动到页面和/或网站到网站,Parser
并将解析页面内容并将它们以可重用的方式存储以满足您的需求。为此,您需要两者,或者您需要手动为您的 Parser 提供 URL。
更新:
关于有用的链接Crawler
:
于 2012-09-20T10:03:06.693 回答
1
于 2012-09-20T10:00:38.663 回答
0
您可以相对轻松地构建自己的爬虫......
例如,在 PHP 中,您可以使用...
<?php
$lines = file('http://www.example.com/');
// i think here you either implode or explode the $lines by "" cannot remember which
// Loop through our array, show HTML source as HTML source; and line numbers too.
foreach ($lines as $line_num => $line) {
echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n";
}
preg_match_all("/<h2>(.*)<\/h2>/i",$lines,$array_of_contents);
$page_title = $array_of_contents[0][1];
if($page_title == "Technology"){
// run a function here to do something with links found on this page...
}
?>
最好使用 CURL 而不是 file(),尽管您可能需要在 PHP.ini 中启用它。我以前在另一个网站上做过这个,效果很好。当找到您感兴趣的链接时,将它们添加到数据库并继续爬行,直到找到所有您想要的链接,然后使用另一个类等来处理/抓取收集的 url 处的数据......
于 2012-09-20T11:06:55.320 回答