无头浏览器和抓取 - 解决方案 [已关闭]

Headless Browser and scraping - solutions [closed]

提问人: 提问时间:8/31/2013 最后编辑:44 revs, 16 users 51%Inoperable 更新时间:6/14/2021 访问量:83212

问:


我们不允许向读者、工具、软件库等寻求推荐的问题。您可以编辑问题,以便用事实和引文来回答。

9年前关闭。

我正在尝试为浏览器自动测试套装和能够抓取的无头浏览器平台列出可能的解决方案列表。


浏览器测试/抓取:

  • Selenium - 浏览器自动化中的多语言旗舰,Python、Ruby、JavaScript、C#、Haskell 等的绑定,Firefox 的 IDE(作为扩展)可加快测试部署.可以充当服务器并具有大量功能。

JAVASCRIPT的

  • PhantomJS - JavaScript,具有屏幕捕获和自动化功能的无头测试,使用 Webkit.从 1.8 版开始,Selenium 的 WebDriver API 已经实现,因此您可以使用任何 WebDriver 绑定,并且测试将与 Selenium 兼容
  • SlimerJS - 类似于 PhantomJS,使用 Gecko (Firefox) 而不是 WebKit
  • CasperJS - JavaScript,基于 PhantomJS 和 SlimerJS 构建,具有额外的功能
  • Ghost Driver - 用于 PhantomJSWebDriver Wire 协议JavaScript 实现.
  • new PhantomCSS - CSS 回归测试.CasperJS 模块,用于使用 PhantomJS 和 Resemble.js 自动执行视觉回归测试。
  • new WebdriverCSS - 用于自动执行视觉回归测试的 Webdriver.io 插件
  • new PhantomFlow - 通过测试描述和可视化用户流。Web 用户界面测试的实验性方法。
  • new trifleJS - 移植 PhantomJS API 以使用 Internet Explorer 引擎。
  • 全新 CasperJS IDE(商用)

节点 .JS

  • 节点幻影 - 弥合了 PhantomJSnode.js 之间的差距
  • WebDriverJs - Selenium 团队的 node.js 的 Selenium WebDriver 绑定
  • WD.js - WebDriver/Selenium 2 的节点模块
  • yiewd - 使用最新和谐生成器的 WD.js 包装器!摆脱有产量的回调金字塔
  • ZombieJs - 使用 node.js 进行疯狂的快速无头全栈测试
  • NightwatchJs - 使用 Selenium Webdriver 的基于 Node JS 的测试解决方案
  • Chimera - Chimera:可以做 phantomJS 所做的一切,但在完整的 JS 环境中
  • Dalek.js - 通过Selenium Webdriver使用JavaScript进行自动跨浏览器测试
  • Webdriver.io - 使用预定义的 50+ 操作更好地实现 WebDriver 绑定
  • Nightmare - 具有高级 API 的电子桥.
  • jsdom - 专为网页抓取量身定制.在 Node.js 中实现的一个非常轻量级的 DOM,它支持带有 javascript 的页面。
  • new Puppeteer - 节点库,它提供了一个高级 API 来控制 Chrome 或 Chromium.默认情况下,Puppeteer 无头运行。

网页抓取/挖矿

  • Scrapy - Python,主要是一个爬虫/矿工 - 快速,有据可查,可以与 Django Dynamic Scraper 链接以进行良好的挖矿部署,或与 Scrapy Cloud 链接用于 PaaS(无服务器)部署,适用于终端或服务器独立过程,可以与 Celery 一起使用,构建在 Twisted 之上
  • 蜗牛 - node.js 模块,尚未测试。
  • 节点爬虫 - node.js 模块,尚未测试。

在线工具

用于自动化的 Android TOOLS


相关链接和资源

问题:

  • 任何纯 Node.js 解决方案或 Nodejs 到 PhanthomJS/CasperJS 模块的实际工作并记录在案?

答:Chimera 似乎朝着那个方向发展,请查看 Chimera

  • 其他解决方案能够比 Selenium 更容易注入 JavaScript?

  • 你知道任何纯红宝石的解决方案吗?

答:查看 rjk 使用基于 ruby 的解决方案创建的列表

  • 您知道任何相关的技术或解决方案吗?

随意编辑这个问题并根据需要添加内容!感谢您的贡献!

网抓 取 scrapy phantomjs casperjs

评论

1赞 hereandnow78 8/31/2013
不知道这是否是你想要的,但我喜欢那个用于抓取网页、检查 DOM 等的模块:npmjs.org/package/crawler。它使用 jsdom,您可以将 jQuery 作为选择器引擎。这个(使用爬虫)看起来也很有趣:npmjs.org/package/snailer
0赞 Josh C. 8/31/2013
我在 node-phantom 模块上取得了很大的成功。它非常简单,并且有据可查。它确实支持javascript注入。
1赞 Robbie Wareham 8/31/2013
我相信您知道 GhostDriver 是使用 phantomJS 的 Selenium-Webdriver 的实现
2赞 todd 8/31/2013
您可能还会发现这很有帮助:blog.screen-scraper.com/2010/06/28/...
1赞 FelipeAls 9/1/2013
用于视觉抓取和比较:PhantomCSS 和 PhantomFlow

答:

36赞 3 revs, 3 users 48%rkj #1

如果你喜欢 Ruby,你也可以尝试:

此外,Nokogiri 宝石可用于刮擦:

Packt Publishing 有一本关于如何利用 Nokogiri 进行抓取的专门书籍

评论

0赞 Pavan Katepalli 6/17/2016
Watir 比上面的库容易一千倍。
0赞 Natesh bhat 11/21/2018
对于 python,“webbot”库提供了丰富的功能,可轻松实现 Web 自动化。
7赞 Jens Grochtdreis #2

一种基于JS的Selenium是Dalek.js。它不仅旨在进行自动化前端测试,您还可以使用它进行屏幕截图。它具有适用于所有重要浏览器的网络驱动程序。不幸的是,这些网络驱动程序似乎值得改进(只是不要对Firefox说“错误”)。

11赞 Federico Galassi #3

http://triflejs.org/ 类似于phantomjs,但基于IE

评论

0赞 Sathish 8/27/2014
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。
5赞 Federico Galassi 8/28/2014
这通常听起来不错,但这个问题本身就是资源的集合。要合并到列表中的带有简短描述的链接符合格式并且有意义。