【问题标题】:Make a web crawler/spider制作网络爬虫/蜘蛛
【发布时间】:2010-07-09 02:56:41
【问题描述】:

我正在考虑制作一个网络爬虫/蜘蛛,但我需要有人指出正确的方向才能开始。

基本上,我的蜘蛛会搜索音频文件并将它们编入索引。

我只是想知道是否有人对我应该如何做有任何想法。我听说用 PHP 完成它会非常慢。我知道 vb.net,所以它可以派上用场吗?

我正在考虑使用 Google 的文件类型搜索来获取要抓取的链接。这样可以吗?

【问题讨论】:

    标签: web-crawler


    【解决方案1】:

    在 VB.NET 中,您需要先获取 HTML,因此请使用 WebClient 类或 HttpWebRequest 和 HttpWebResponse 类。互联网上有很多关于如何使用这些的信息。

    然后你需要解析 HTML。我建议为此使用正则表达式。

    您使用 Google 进行文件类型搜索的想法不错。几年前我做了类似的事情来收集 PDF 来测试 SharePoint 中的 PDF 索引,效果非常好。

    【讨论】:

    • 谢谢,知道如何将数据从桌面 vb 应用程序插入我的数据库吗?
    • 取决于数据库的风格。 SQL Server 有 System.Data.SqlClient 命名空间。对于其他任何事情,您都需要查看 System.Data.OleDb 命名空间。如果您希望它在无人值守的情况下运行,最好使用控制台 VB 应用程序
    • 关于使用正则表达式解析 HTML....stackoverflow.com/questions/1732348/… 可能是有史以来最好的 SO 答案。
    • 感谢您的链接,我想“解析”是错误的选择,他只会从页面中提取所有相关的超链接,与 HTML 的结构无关。
    【解决方案2】:

    这是一个关于如何用 java 编写网络爬虫的教程的链接。 http://java.sun.com/developer/technicalArticles/ThirdParty/WebCrawler/我相信如果你用谷歌搜索,你可以找到其他语言的。

    【讨论】:

    • 如果你用java做一个网络爬虫,它必须是服务器端的吗?现在我在不允许使用 java 的共享主机上,我目前买不起专用或 vps。
    • 不,如果您愿意,这可以在您的家用计算机上运行。
    【解决方案3】:

    伪代码应该是这样的:

    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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      • 2017-09-11
      • 2010-12-03
      • 2013-11-30
      • 2012-04-06
      • 1970-01-01
      相关资源
      最近更新 更多