代码之家  ›  专栏  ›  技术社区  ›  Bennett McElwee

用于下载和分析网页的语言/库?

  •  20
  • Bennett McElwee  · 技术社区  · 16 年前

    什么语言和库适合脚本解析和下载少量的web资源?

    例如,有些网站发布伪播客,但不是作为适当的rss源;它们只是定期发布mp3文件,其中包含播放列表的网页。我想写一个脚本,定期运行,分析相关页面的链接和播放列表信息,下载MP3,并将播放列表放在MP3标签中,这样它就可以很好地显示在我的iPod中。我也可以写一些类似的应用程序。

    你推荐什么语言?我希望脚本在windows和macos上运行。以下是一些替代方案:

    • JavaScript . 只是为了使用jquery进行解析。我不知道jquery是否在浏览器之外工作。
    • 蟒蛇 . 很可能是我想做的事的图书馆支持。但我不喜欢python语法。
    • 红宝石 . 我以前用ruby做过一些简单的事情(手动解析)。
    • 克洛杰尔 . 因为我想花点时间和它在一起。

    你最喜欢的语言和库是什么?为什么?有其他语言的类似jquery的库吗?

    10 回复  |  直到 13 年前
        1
  •  7
  •   Michał Marczyk    16 年前

    如果你想和clojure在一起的话(我是个好主意!)给 Enlive 一枪github描述如下

    基于选择器的clojure模板转换系统 Read more

    除了对模板化很有用之外,它还是一个有能力的web垃圾库;请参阅 this tutorial 一些简单的刮擦例子。(第三个是《纽约时报》的主页,实际上并没有那么简单。)

    如果你在网上找的话,还有其他的教程;enlive本身附带了一些文档/示例。(另外,代码总共1000行,可读性很强,不过我想对于一个刚接触这门语言的人来说,这可能不那么容易。)

        3
  •  5
  •   ishanrc    16 年前

    靓汤( http://www.crummy.com/software/BeautifulSoup/ )是一个很好的python库。它专门处理格式错误的标记。

        4
  •  4
  •   Pedro    16 年前

    在ruby中还有nokogiri,nokogiri是一个html、xml、sax和reader解析器。nokogiri的许多特性之一是能够通过xpath或css3选择器搜索文档。

        5
  •  2
  •   nan    16 年前

    就像Mikael S提到的 hpricot 是一个很棒的ruby html解析器。但是,对于页面检索,您可以考虑使用类似于 scRUBYt 或 Mechanize .

        6
  •  1
  •   Mikael S    16 年前

    我强烈推荐使用ruby和 hpricot 图书馆。

        7
  •  1
  •   piroux    13 年前

    你真的应该给 蟒蛇 射门。

    当我决定设计一个爬虫时,我通常会复制相同的 模式 .

    对于每个步骤,都有一个worker,它从容器(主要是队列)中提取数据。每种类型的工人之间都有容器。在第一次连接目标站点之后,所有类型的工作线程都可以执行。所以我们必须使用同步来访问这些队列。

    1. 连接器: 这个 Session 对象来自 requests 图书馆是了不起的。
    2. Loader: 有多个 threaded 加载程序,可以立即启动多个请求。
    3. Parser: xpath 在每个 etree 使用创建的对象 lxml .
    4. 验证器: 一组断言和试探法,用于检查分析数据的有效性。
    5. Archiver: 根据存储的内容、数量和速度,nosql通常是存储检索到的数据的最简单方法。例如, mongodb 和 pymongo .
        8
  •  0
  •   Scott Evernden    16 年前

    我可能会使用php、curl和 phpQuery …但是有很多不同的方法…

        9
  •  0
  •   ms4720    16 年前

    你真的想做什么?如果你想学clojure ruby的话,那就去学。如果你只是想完成它,做任何对你来说最快的事情。至少当你说Culjule和Cub的时候,你也在说Java和库,有很多,还有一些很好(我不知道它们是什么)。上面提到的ruby和python也是如此。你想怎么办?

        10
  •  0
  •   Community Mohan Dere    9 年前

    对于perl中类似jquery的css选择器库,请查看 pQuery

    还可以查看前面的这个so问题,以获取在许多语言中进行html解析和抓取的示例。

    /I3AZ/

    推荐文章