本文翻译自:Headless Browser and scraping - solutions [closed]

I'm trying to put list of possible solutions for browser automatic tests suits and headless browser platforms capable of scraping. 我正在尝试列出适用于浏览器自动测试套装和能够抓取的无头浏览器平台的可能解决方案。


BROWSER TESTING / SCRAPING: 浏览器测试/报废:

  • Selenium - polyglot flagship in browser automation, bindings for Python, Ruby, JavaScript, C#, Haskell and more, IDE for Firefox (as an extension) for faster test deployment. Selenium-浏览器自动化中的多语种旗舰产品,适用于Python,Ruby,JavaScript,C#,Haskell等的绑定,适用于Firefox的IDE(作为扩展),可加快测试部署。 Can act as a Server and has tons of features. 可以充当服务器并具有大量功能。

JAVASCRIPT JAVASCRIPT

  • PhantomJS - JavaScript , headless testing with screen capture and automation, uses Webkit . PhantomJS - JavaScript使用Webkit进行无头测试,包括屏幕捕获和自动化。 As of version 1.8 Selenium's WebDriver API is implemented, so you can use any WebDriver binding and tests will be compatible with Selenium 从1.8版开始,Selenium的WebDriver API已实现,因此您可以使用任何WebDriver绑定,并且测试将与Selenium兼容
  • SlimerJS - similar to PhantomJS, uses Gecko (Firefox) instead of WebKit SlimerJS-与PhantomJS相似,使用Gecko (Firefox)代替WebKit
  • CasperJS - JavaScript , build on both PhantomJS and SlimerJS, has extra features CasperJS-基于PhantomJS和SlimerJS的JavaScript具有附加功能
  • Ghost Driver - JavaScript implementation of the WebDriver Wire Protocol for PhantomJS . Ghost Driver - PhantomJSWebDriver Wire协议的 JavaScript实现。
  • new PhantomCSS - CSS regression testing. 新的 PhantomCSS -CSS回归测试。 A CasperJS module for automating visual regression testing with PhantomJS and Resemble.js . 一个CasperJS模块,用于使用PhantomJS和Resemble.js自动化视觉回归测试。
  • new WebdriverCSS - plugin for Webdriver.io for automating visual regression testing WebdriverCSS -插件为Webdriver.io自动化视觉回归测试
  • new PhantomFlow - Describe and visualize user flows through tests. 新的 PhantomFlow-描述和可视化通过测试的用户流程。 An experimental approach to Web user interface testing. Web用户界面测试的实验方法。
  • new trifleJS - ports the PhantomJS API to use the Internet Explorer engine. 新的 trifleJS-移植 PhantomJS API以使用Internet Explorer引擎。
  • new CasperJS IDE (commercial) 新的 CasperJS IDE (商业)

NODE.JS NODE.JS

  • Node-phantom - bridges the gap between PhantomJS and node.js Node- phantom-弥合PhantomJSnode.js之间的鸿沟
  • WebDriverJs - Selenium WebDriver bindings for node.js by Selenium Team WebDriverJs -Selenium Team对node.js的Selenium WebDriver绑定
  • WD.js - node module for WebDriver/Selenium 2 WD.js -WebDriver / Selenium 2的节点模块
  • yiewd - WD.js wrapper using latest Harmony generators! yiewd - WD.js包装采用最新和谐发电机! Get rid of the callback pyramid with yield yield摆脱回调金字塔
  • ZombieJs - Insanely fast, headless full-stack testing using node.js ZombieJs-使用node.js进行快速,无头的全栈测试
  • NightwatchJs - Node JS based testing solution using Selenium Webdriver NightwatchJs-使用Selenium Webdriver的基于Node JS的测试解决方案
  • Chimera - Chimera: can do everything what phantomJS does, but in a full JS environment Chimera -Chimera:可以完成phantomJS的所有工作,但要在完整的JS环境中
  • Dalek.js - Automated cross browser testing with JavaScript through Selenium Webdriver Dalek.js-通过Selenium Webdriver使用JavaScript自动进行跨浏览器测试
  • Webdriver.io - better implementation of WebDriver bindings with predefined 50+ actions Webdriver.io-通过预定义的50多个操作更好地实现WebDriver绑定
  • Nightmare - Electron bridge with a high-level API. 噩梦 -具有高级API的电子桥。
  • jsdom - Tailored towards web scraping. jsdom-专门针对网络抓取。 A very lightweight DOM implemented in Node.js, it supports pages with javascript. Node.js中实现的一种非常轻量级的DOM,它支持带有javascript的页面。
  • new Puppeteer - Node library which provides a high-level API to control Chrome or Chromium. 新的 Puppeteer-节点库,提供了用于控制Chrome或Chromium的高级API。 Puppeteer runs headless by default. 默认情况下,Puppeteer无头运行。

WEB SCRAPING / MINING 网页抓取/挖掘

  • Scrapy - Python , mainly a scraper/miner - fast, well documented and, can be linked with Django Dynamic Scraper for nice mining deployments, or Scrapy Cloud for PaaS (server-less) deployment, works in terminal or an server stand-alone proces, can be used with Celery , built on top of Twisted Scrapy - Python ,主要是一个scraper / miner-快速,完善的文档说明,可以与Django Dynamic Sc​​raper链接以进行良好的挖掘部署,或与Scrapy Cloud进行PaaS(无服务器)部署相结合,可在终端或服务器独立程序中运行,可与Twisted顶部的Celery一起使用
  • Snailer - node.js module, untested yet. Snailer - node.js模块,未经测试。
  • Node-Crawler - node.js module, untested yet. Node-Crawler - node.js模块,尚未测试。

ONLINE TOOLS 在线工具

  • new Web Scraping Language - Simple syntax to crawl the web 新的 Web爬网语言 -用于爬网的简单语法

  • new Online HTTP client - Dedicated SO answer 新的 在线HTTP客户端 -专用SO答案

  • dead CasperBox - Run CasperJS scripts online 死的 CasperBox-在线运行CasperJS脚本


RELATED LINKS & RESOURCES 相关链接和资源

  • Comparsion of Webscraping software Web抓取软件的比较
  • new Resemble.js : Image analysis and comparison 新的 Resemble.js :图像分析和比较

Questions: 问题:

  • Any pure Node.js solution or Nodejs to PhanthomJS/CasperJS module that actually works and is documented? 是否有任何纯粹的Node.js解决方案或PhanthomJS / CasperJS模块的Nodejs实际上有效并已记录在案?

Answer: Chimera seems to go in that direction, checkout Chimera 答: Chimera似乎朝这个方向发展,结帐Chimera

  • Other solutions capable of easier JavaScript injection than Selenium? 其他比Selenium更容易注入JavaScript的解决方案?

  • Do you know any pure ruby solutions? 您知道任何纯红宝石解决方案吗?

Answer: Checkout the list created by rjk with ruby based solutions 答案:检出由rjk使用基于ruby的解决方案创建的列表

  • Do you know any related tech or solution? 您知道任何相关技术或解决方案吗?

Feel free to edit this question and add content as you wish! 随意编辑此问题并根据需要添加内容! Thank you for your contributions! 感谢您的贡献!


#1楼

参考:https://stackoom.com/question/1Fmy3/无头浏览器和抓取-解决方案


#2楼

If Ruby is your thing, you may also try: 如果您是Ruby,也可以尝试:

  • https://github.com/chriskite/anemone (dev stopped) https://github.com/chriskite/anemone (开发已停止)
  • https://github.com/sparklemotion/mechanize https://github.com/sparklemotion/mechanize
  • https://github.com/postmodern/spidr https://github.com/postmodern/spidr
  • https://github.com/stewartmckee/cobweb https://github.com/stewartmckee/cobweb
  • http://watirwebdriver.com/ (Selenium) http://watirwebdriver.com/ (硒)

also, Nokogiri gem can be used for scraping: 此外,Nokogiri宝石还可用于刮擦:

  • http://nokogiri.org/ http://nokogiri.org/

there is a dedicated book about how to utilise nokogiri for scraping by packt publishing 有专门的书,介绍如何利用nokogiri通过packt出版进行抓取


#3楼

A kind of JS-based Selenium is Dalek.js . Dalek.js是一种基于JS的Selenium。 It not only aims for automated frontend-tests, you can also do screenshots with it. 它不仅旨在进行自动化的前端测试,还可以使用它进行屏幕截图。 It has webdrivers for all important browsers. 它具有适用于所有重要浏览器的Web驱动程序。 Unfortunately those webdrivers seem to be worth improving (just not to say "buggy" to Firefox). 不幸的是,那些网络驱动程序似乎值得改进(只是对Firefox而言不是“笨拙”)。


#4楼

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

无头浏览器和抓取-解决方案相关推荐

  1. 利用浏览器缓存抓取网络资源:【炉石传说】所有卡牌png图片地址

    有的时候我们在网络上看到很好的资源,想要抓取,却苦于没有好的手段.今天我就来介绍一下通过chrome浏览器缓存抓取的方法. 大家都知道,浏览器把网页展示给我们看的时候,会先将页面上的所有图片等资源下载 ...

  2. 用python模拟一个文本浏览器来抓取网页

    最近在研究爬虫, 主要是用urllib和urllib2以及其他的一些标准库. 当然, urllib2的缺点就是不能看到 http请求发送了那些header, 服务器返回的信息也看不到, 只能看到htm ...

  3. 使用selenium+Chrome()无图版模拟浏览器进行抓取淘宝商品信息

    说起淘宝,大家肯定先想起来的是各种各样的吃的喝的玩的,那么什么样的吃的喝的玩的销量高呢,有没有一种方法将商品信息抓下来我们做一个参考呢,下边就为大家带来我之前在崔庆才大神的参考下,将代码改写了,相对没 ...

  4. cefsharp内嵌资源html的读取,C#(csharp)用CefSharp开发实现一个浏览器,抓取网站任意资源...

    前言: 不少网站会保护自己,防止别人下载图片. 因此下载器,先后改了好几次,不断技术升级. 早期 用WebClient 下载 HTML 分析 URL 下载. 后来 为了下载 手机网站的图片,用上了 U ...

  5. 手机端Alook浏览器手动抓取京东Cookie教程

    手机客户端版:Alook浏览器(安卓免费,ios 6元) PS: 注意:如果有多个账号,一定不要点退出登录,请先开启无痕模式.登录账号后直接关闭网页,重新进入网页登录下一个账号.退出会导致刚刚获取的c ...

  6. OTT-TV网络电视EPG录制和EPG抓取解决方案

    EPG是Electrical Program Guide,也就是电子节目单.这个名词的出现和OTT-TV或者说IPTV紧密相关. EPG功能是频道化电视以"频道-时间"方式提供一段 ...

  7. java url获取 html body,java模拟浏览器请求抓取页面,无法抓取body里的内容

    试了一下结果是一样的,而且看了一下请求,并不是js动态生成的,就是一个请求返回的 Request URL: https://ceac.state.gov/GenNIV/default.aspx Req ...

  8. jquery页面跳转带cookie_搭建谷歌浏览器无头模式抓取页面服务,laravelgt;phpgt;pythongt;docker...

    背景: 公司管理系统需要获取企业微信页面的配置参数如企业名.logo.人数等信息并操作,来隐藏相关敏感信息并自定义简化企业号配置流程 第一版已经实现了扫码登录获取cookie,使用该cookie就能获 ...

  9. python 无头模式_搭建谷歌浏览器无头模式抓取页面服务,laravel-php-python-docker !!!...

    背景: 公司管理系统需要获取企业微信页面的配置参数如企业名.logo.人数等信息并操作,来隐藏相关敏感信息并自定义简化企业号配置流程 第一版已经实现了扫码登录获取cookie,使用该cookie就能获 ...

最新文章

  1. tomcat 运行php_tomcat可以运行php吗
  2. 通俗易懂!使用Excel和TF实现Transformer
  3. 四月读书主题整理——用尽费退,打磨身体
  4. 气象科学与计算机应用论文,面向气象数据的智能分析方法分析-计算机应用技术专业毕业论文.docx...
  5. 打造自己的数据访问层(三)
  6. oracle表连接——处理连接过程中另外一张表没有相关数据不显示问题
  7. Photoshop 2021 for mac(PS2021直装版)中英双语版
  8. 博文内部设置目录尝试
  9. 太阳能充电调节代码_储能管理系统对于充电站的作用
  10. SQL-(增)-插入操作
  11. 情迁QQ机器人新增的茉莉词库功能调教
  12. 几个系统级崩溃问题和h5加载页面崩溃问题及解决方案
  13. 分析Ajax爬取今日头条街拍图片
  14. five 安卓应用|five 1.0.1 for android,Five小视频安卓版
  15. java 匹配任意字符_正则表达式匹配任意字符(包括换行符)
  16. Python软件编程等级考试二级——20220319
  17. 超体素分割——分割块点云单独保存及遗漏点的处理
  18. ecshop mysql 30秒_ecshop数据库字段说明汇总
  19. python爬虫简易到进阶实战篇——(1)
  20. 如何带领好团队,增强团队的执行力?

热门文章

  1. 猿设计2——电商后台全逻辑需求挖掘
  2. 微信公众号如何分享课件PPT?
  3. R语言多元Logistic逻辑回归 应用案例
  4. (Python)从零开始,简单快速学机器仿人视觉Opencv---运用二:物体检测
  5. JAVA拾遗 — JMH与8个代码陷阱
  6. 笔记本不能用无线网策略服务器,明明有无线网笔记本就是搜索不到怎么处理
  7. 金山打字专业文章计算机,文字录入(排版完成)_计算机软件及应用_IT计算机_专业资料...
  8. Exchange Server 2013 运维系列——EMS实用命令收集(持续更新中...)
  9. ​Mockplus新年福利来了!见者有份!
  10. Partial RenderPartial Action RenderAction 区别和用法