【发布时间】:2010-07-09 02:56:41
【问题描述】:
我正在考虑制作一个网络爬虫/蜘蛛,但我需要有人指出正确的方向才能开始。
基本上,我的蜘蛛会搜索音频文件并将它们编入索引。
我只是想知道是否有人对我应该如何做有任何想法。我听说用 PHP 完成它会非常慢。我知道 vb.net,所以它可以派上用场吗?
我正在考虑使用 Google 的文件类型搜索来获取要抓取的链接。这样可以吗?
【问题讨论】:
标签: web-crawler
我正在考虑制作一个网络爬虫/蜘蛛,但我需要有人指出正确的方向才能开始。
基本上,我的蜘蛛会搜索音频文件并将它们编入索引。
我只是想知道是否有人对我应该如何做有任何想法。我听说用 PHP 完成它会非常慢。我知道 vb.net,所以它可以派上用场吗?
我正在考虑使用 Google 的文件类型搜索来获取要抓取的链接。这样可以吗?
【问题讨论】:
标签: web-crawler
在 VB.NET 中,您需要先获取 HTML,因此请使用 WebClient 类或 HttpWebRequest 和 HttpWebResponse 类。互联网上有很多关于如何使用这些的信息。
然后你需要解析 HTML。我建议为此使用正则表达式。
您使用 Google 进行文件类型搜索的想法不错。几年前我做了类似的事情来收集 PDF 来测试 SharePoint 中的 PDF 索引,效果非常好。
【讨论】:
System.Data.SqlClient 命名空间。对于其他任何事情,您都需要查看 System.Data.OleDb 命名空间。如果您希望它在无人值守的情况下运行,最好使用控制台 VB 应用程序
这是一个关于如何用 java 编写网络爬虫的教程的链接。 http://java.sun.com/developer/technicalArticles/ThirdParty/WebCrawler/我相信如果你用谷歌搜索,你可以找到其他语言的。
【讨论】:
伪代码应该是这样的:
Method spider(URL startURL){
Collection URLStore; // Can be an arraylist
push(startURL,URLStore);// start with a know url
while URLStore ! Empty do
currURL= pop(URLStore); //take an url
download URL page;
push (URLx, URLStore); //for all links to URL in the page which are not already followed, then put in the list
要从 Java 网页中读取一些数据,您可以这样做:
URL myURL = new URL("http://www.w3.org");
BufferedReader in = new BufferedReader( new InputStreamReader(myURL.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) //you will get all content of the page
System.out.println(inputLine); // here you need to extract the hyperlinks
in.close();
【讨论】: