我正在研究制作网络爬虫/蜘蛛,但我需要有人指引我以正确的方向开始。制作网络爬虫/蜘蛛
基本上,我的蜘蛛会搜索音频文件并为它们编制索引。
我只是想知道如果任何人有任何想法我应该怎么做。我听说在PHP中完成它会非常缓慢。我知道vb.net所以可以派上用场?
我正在考虑使用Google文件类型搜索来获取抓取链接。那会好吗?
我正在研究制作网络爬虫/蜘蛛,但我需要有人指引我以正确的方向开始。制作网络爬虫/蜘蛛
基本上,我的蜘蛛会搜索音频文件并为它们编制索引。
我只是想知道如果任何人有任何想法我应该怎么做。我听说在PHP中完成它会非常缓慢。我知道vb.net所以可以派上用场?
我正在考虑使用Google文件类型搜索来获取抓取链接。那会好吗?
在VB.NET中,您将需要首先获取HTML,因此请使用WebClient类或HttpWebRequest和HttpWebResponse类。关于如何在interweb上使用这些信息有很多信息。
然后你需要解析HTML。我建议为此使用正则表达式。
您使用Google进行文件类型搜索的想法是不错的选择。几年前,我做了一个类似的事情来收集PDF以测试SharePoint中的PDF索引,这非常有效。
这是关于如何在java中编写web爬虫的教程链接。 http://java.sun.com/developer/technicalArticles/ThirdParty/WebCrawler/我敢肯定,如果你谷歌它可以找到其他语言的。
如果您在Java网络爬虫,难道一定要是服务器端?现在我在共享主机,不允许Java和我目前不能得到专用或VPS。 – 2010-07-09 03:04:24
如果你愿意,不可以在你的家用电脑上运行。 – qw3n 2010-07-09 03:46:44
的伪代码应该是这样的:
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();
谢谢,我知道如何将数据插入到我的数据库中的桌面vb应用程序? – 2010-07-09 03:08:49
取决于数据库的风格。有SQL Server的'System.Data.SqlClient'命名空间。对于其他任何您需要查看'System.Data.OleDb'命名空间的内容。最好是使用控制台的VB应用程序,如果你想这个无人值守运行 – 2010-07-09 03:14:16
关于解析与正则表达式的HTML ... http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml -self-contained-tags 可能是有史以来最好的答案。 – rfusca 2010-07-09 03:40:17