哪种语言和库适合脚本来解析和下载少量网络资源?
例如,某些网站发布伪播客,但不是正确的RSS源;他们只是定期发布包含播放列表的网页的MP3文件。我想编写一个脚本来定期运行并解析链接和播放列表信息的相关页面,下载MP3,并将播放列表放在MP3标签中,以便在我的iPod中很好地显示。我也可以写一些类似的应用程序。
您会推荐哪种语言?我希望该脚本能够在Windows和MacOS上运行。以下是一些替代方案:
你最喜欢的语言和图书馆是做什么的?为什么?其他语言是否有类似jQuery的好库?
答案 0 :(得分:7)
如果你想花一些时间与Clojure(一个非常好的主意IMO!),给Enlive一个机会。 GitHub描述读取
基于选择器(àlaCSS)的Clojure模板和转换系统 - Read more
除了对模板有用之外,它还是一个功能强大的webscraping库;有关简单的抓取示例,请参阅this tutorial的初始部分。 (第三个是纽约时报的主页,所以实际上并不像所有那样简单。)
如果你寻找它们,网上还有其他教程; Enlive本身带有一些文档/示例。 (此外,代码总共<1000行且非常易读,但我认为对于熟悉该语言的人来说,这可能不那么简单。)
答案 1 :(得分:6)
Clojure链接转储,覆盖enlive,基于tagSoup和代理进行并行下载(roundups /链接转储不是很好,但我确实花了一些时间google搜索/搜索不同的libs。抓取/抓取可以非常简单或漂亮根据已爬网站点的结构,HTML,XHTML等进行处理。)
http://blog.bestinclass.dk/index.php/2009/10/functional-social-webscraping/
http://nakkaya.com/2009/12/17/mashups-using-clojure/
http://freegeek.in/blog/2009/10/downloading-a-bunch-of-files-in-parallel-using-clojure-agents/
http://blog.maryrosecook.com/post/46601664/Writing-an-mp3-crawler-in-Clojure
http://gnuvince.wordpress.com/2008/11/18/fetching-web-comics-with-clojure-part-2/
http://htmlparser.sourceforge.net/
http://nakkaya.com/2009/11/23/converting-html-to-compojure-dsl/
http://www.bestinclass.dk/index.php/2009/10/functional-social-webscraping/
apache http client
http://github.com/rnewman/clj-apache-http
http://github.com/heyZeus/clj-web-crawler
http://japhr.blogspot.com/2009/01/clojure-http-clientclj.html
答案 2 :(得分:5)
Beautiful Soup(http://www.crummy.com/software/BeautifulSoup/)是一个很好的python库。它专门处理格式错误的标记。
答案 3 :(得分:4)
在ruby中你也有Nokogiri,Nokogiri(锯)是一个HTML,XML,SAX和Reader解析器。 Nokogiri的许多功能包括通过XPath或CSS3选择器搜索文档的能力。
答案 4 :(得分:2)
答案 5 :(得分:1)
我强烈建议使用Ruby和hpricot库。
答案 6 :(得分:1)
你应该真的给 Python 一个镜头。
当我决定设计一个爬虫时,我通常会重现相同的模式。
对于每个步骤,都有一个worker,它从容器(主要是队列)中选择数据。每种类型的工人之间都有容器。在第一次连接目标站点之后,可以对所有类型的工作者进行线程化。所以我们必须使用同步来访问这些队列。
答案 7 :(得分:0)
我可能会用PHP,curl和&amp; phpQuery ..但是有很多不同的方式......
答案 8 :(得分:0)
你真的想做什么?如果你想学习Clojure || ruby || C那就做。如果你只想完成任务,那就做最快的事情吧。至少当你说Clojure和图书馆你也说Java和图书馆时,有很多,有些非常好(我不知道它们是什么)。对于上面的红宝石和蟒蛇也是如此。那你想做什么?
答案 9 :(得分:0)