使用PhantomJS crowbar从本地web服务器上的网页中提取3d创建的SVG
Use PhantomJS crowbar to extract D3-created SVG from webpage on local webserver
我试图从网页中提取我用D3创建的SVG。因为我使用d3.csv来读取我的图像数据,我使用本地web服务器。我一直在尝试使用安德鲁·里根的phantom-crowbar.js
代码(https://github.com/andyreagan/phantom-crowbar),而这对于从http://
页面和file:///
页面提取SVG非常有用,当我试图从我的页面提取地址http://localhost:8000
时,我收到以下消息:
TypeError: null is not an object (evaluating 'svg.setAttribute')
phantomjs://webpage.evaluate():32
phantomjs://webpage.evaluate():55
Evaluated our code
" Evaluated our code
"是您通常在成功提取SVG但输出文件为空时收到的消息。
我是新的JavaScript, PhantomJS和工作在浏览器与D3,所以任何帮助将不胜感激。我真的不知道为什么本地服务器页面的行为应该不同。
我最后问了Andrew Reagan,他很快就回复了我,问题是我在脚本中的函数中设置了SVG "id"
属性。因为我使用d3.csv()
来读取csv并生成我的图像,所以一切都被包装在这个函数中。我使用
"id"
属性d3.select("svg").attr("id", mysvg)
和现在phantom-crowbar.js工作没有问题。
@Stephen我需要生成和保存多个D3图像,所以我需要一种方法来以编程方式提取SVG和安德鲁的phantom-crowbar.js
是我尝试过的最好的方法,如果其他人正在寻找做类似的事情。如果你只是偶尔需要这样做,SVG Crowbar
bookmarklet是很好的。
相关文章:
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 使用javascript从HTML网页中提取图像url
- VBA加载网页并提取内存中的数据
- 提取网页的源代码
- 提取并使用javascript / greasemonkey显示网页
- 避免Facebook从网页中提取og元标记数据/或抓取
- 使用用户脚本从网页中提取脚本标记
- 如何在python中使用真正的jquery从网页中提取数据
- 从网页中提取内容并使用Java进行比较
- UIWebView-如何从Facebook等网页中提取HTML代码
- 如何使用python在网页上提取动态时间计数器
- 如何从网页中提取javascript动态数据
- 从一系列网页中提取数据最简单的方法是什么?
- 如何使用jQuery阅读网页并提取某些链接
- 从动态网页中提取文本
- 从网页中提取图像源,其中img标签可能会在使用javascript etcq渲染页面时添加
- 解析网页以提取内容
- 从网页中提取电话号码
- 从网页中提取提要
- 从网页中提取数据