Web scraping 屏幕抓取|网页抓取

Web scraping 屏幕抓取|网页抓取,web-scraping,web-crawler,screen-scraping,extraction,Web Scraping,Web Crawler,Screen Scraping,Extraction,关于这个话题我有几个问题 有人能解释一下使用以下语言编写scraper的优缺点吗 Java/Groovy Perl PhP 硒 蟒蛇 我还想知道在刮的过程中会遇到什么样的问题,也许我应该如何处理。例如,我遇到了片段标识,但还没有找到处理它的方法。(我正在使用htmlunit) 我只是想为那些对这个主题略知一二的人寻找一些建议。我建议从Python+开始。有时也很有用 依赖JavaScript或Cookie的网站更难抓取,但大多数都很简单 请确保在请求之间留出几秒钟,以避免被阻止。我建议从Pyth

关于这个话题我有几个问题

有人能解释一下使用以下语言编写scraper的优缺点吗

Java/Groovy

Perl

PhP

蟒蛇

我还想知道在刮的过程中会遇到什么样的问题,也许我应该如何处理。例如,我遇到了片段标识,但还没有找到处理它的方法。(我正在使用htmlunit)


我只是想为那些对这个主题略知一二的人寻找一些建议。

我建议从Python+开始。有时也很有用

依赖JavaScript或Cookie的网站更难抓取,但大多数都很简单


请确保在请求之间留出几秒钟,以避免被阻止。

我建议从Python+开始。有时也很有用

依赖JavaScript或Cookie的网站更难抓取,但大多数都很简单

请确保在请求之间留出几秒钟,以避免被阻止。

请考虑查看。它有自己的高级语言,但也可以用Java编写模块。它支持Selenium后端和HTMLUnit

如果你能就你的片段提出一个具体的问题,那么我也可以回答。

考虑看看。它有自己的高级语言,但也可以用Java编写模块。它支持Selenium后端和HTMLUnit


如果你能就你的片段提出一个具体的问题,那么我也可以回答。

优点/缺点更多地与可用的框架有关,而不是与编程语言本身有关

  • 如果您需要放弃javascript/ajax网站,htmlunit是最好的选择之一,但如果您想直接使用它,则需要一种在JVM(java、jython、clojure等)上运行的语言。另一种选择(对于javascript/ajax)是编写Google Chrome附加组件(比Firefox更简单)或在应用程序中嵌入web浏览器。第三种选择是使用自动化工具,如:(例如:Selenium,Watir)
  • 根据我的经验,如果您不需要javascript/ajax支持,lxml是CPython下最好的抓取库,主要用于处理格式错误的html。其他html解析器并非在所有情况下都能很好地工作
  • 除了(1)和(2)之外,另一个重要的问题是您是否有一个并行爬行框架(如果您需要速度)。(1) (2),(3)在一起很难找到

  • 优点/缺点更多地与可用的框架有关,而不是与编程语言本身有关

  • 如果您需要放弃javascript/ajax网站,htmlunit是最好的选择之一,但如果您想直接使用它,则需要一种在JVM(java、jython、clojure等)上运行的语言。另一种选择(对于javascript/ajax)是编写Google Chrome附加组件(比Firefox更简单)或在应用程序中嵌入web浏览器。第三种选择是使用自动化工具,如:(例如:Selenium,Watir)
  • 根据我的经验,如果您不需要javascript/ajax支持,lxml是CPython下最好的抓取库,主要用于处理格式错误的html。其他html解析器并非在所有情况下都能很好地工作
  • 除了(1)和(2)之外,另一个重要的问题是您是否有一个并行爬行框架(如果您需要速度)。(1) (2),(3)在一起很难找到

  • 谢谢你,我还没有考虑过仅仅为了抓取而研究Python。我得考虑一下你的建议。还感谢您提供关于在计时器上运行请求的提示。谢谢您,我还没有考虑过仅仅为了抓取而研究Python。我得考虑一下你的建议。还感谢您提供关于在计时器上运行请求的提示。我想我将接受您的建议(因为我最熟悉Java/Groovy)。我也在考虑研究硒;我听说过很多关于它的事情。至于我的具体问题:我在对答案的评论中指出了这个问题。我还没有解决那个具体问题。我不知道如何使用HTMLUnit处理片段标识符,只是想知道您是否有时间研究一下我的问题?我想我将接受您的建议(因为我最熟悉Java/Groovy)。我也在考虑研究硒;我听说过很多关于它的事情。至于我的具体问题:我在对答案的评论中指出了这个问题。我还没有解决那个具体问题。我不知道如何使用HTMLUnit处理片段标识符,只是想知道您是否有时间研究我的问题?谢谢您的详细回答。你已经澄清了我提出的许多问题。你处理过硒吗?我一直在考虑去看看,但还没有迈出第一步。我想我会在登机前做一些研究。不,我没有用硒,我用的是瓦蒂尔。在这种情况下,看看过去的一个关于赞成/反对的问题:我只需要补充一下,Watir对我来说似乎很慢。好的,谢谢你的投入,它非常有用。谢谢你的详细回答。你已经澄清了我提出的许多问题。你处理过硒吗?我一直在考虑去看看,但还没有迈出第一步。我想我会在登机前做一些研究。不,我没有用硒,我用的是瓦蒂尔。在此背景下,看看过去的一个关于赞成/反对的问题:我只需要补充一点,Watir对我来说似乎很慢。好的,谢谢你的投入,这非常有帮助