使用phantomjs将html呈现到一个图像中,这个库的设计是为了适应大容量的连续操作。
phantom-snap的Python项目详细描述
Phantom Snap
====
使用Phantomjs将HTML呈现到图像,此库的设计可用于大容量连续操作。
对于许多包装器执行的每个请求,都有一个新的包装器,这很慢)。
-从url呈现内容,或直接向呈现器提供html内容
roadmap
----
-decorator在指定时区下管理呈现
-decorator在指定pro下管理呈现xies.
示例
——
示例假设您已安装http://phantomjs.org/。
第一个示例演示如何呈现URL并将结果图像保存到/tmp/google render.jpg处的文件中。
:
js
来自phantom快照。phantom导入phantomjsrenderer
来自phantom快照。{'tz':'美国/洛杉矶'}
'超时':{
'页面加载':3
}
}
r=phantomjsrenderer(配置)
url='http://www.google.com'
尝试:
page=r.render(url,img_format='jpeg')
保存图像('/tmp/google-render,第页)
最后:
r.shutdown(15)
"base64":"ivborw0kggo<;snip>;rk5cyii=",
"error":null,
"加载时间":342
}
此示例显示如何直接向呈现过程提供HTML内容,而不是请求它。
:
来自phantom_snap.phantom import phantomjsrenderer
来自phantom_snap.imagetools import save_image
config={
"可执行":/usr/local/bin/phantomjs',
"args":phantomjs['args']+['--disk cache=false','--load images=true']
}
r=phantomjsrenderer(配置)
url='http://www.a-url.com'
html='<;html>;<;body>;boo ya!<;/body>;<;/html>;'
尝试:
page=r.render(url=url,html=html,img_format='png')
保存图像('/tmp/html render',page)
最后:
r.shutdown(15)
s.amazon.com/lambda/>;``您可以使用``lambdanderender`类,方法如下:
:
',
}
url='http://www.youtube.com'
page=r.render(url,img_format='jpeg')
save_image('/tmp/youtube render',page)
r.shutdown()
要了解有关将渲染卸载到aws lambda的详细信息,请参阅``无服务器``文件夹。
decorator s
--
**lifetime**
如果计划在高容量下长时间运行``phantomjsrenderer``实例,建议使用``lifetime`` decorator包装实例,如下所示。
如果呈现程序处于空闲状态,或者在释放任何累积资源的最大生存期之后,decorator将透明地关闭底层phantomjs进程。如果phantomjs配置为使用基于内存的浏览器缓存来防止缓存太大了。在"lifetime"装饰程序关闭呈现程序(由于空闲时间或最长时间)之后,下一个呈现请求将自动创建新的phantomjs进程。
::
from phantom快照.settings import phantomjs
from phantom快照.phantom import phantomjs renderer
从phantom_snap.decorators导入生存期
config={
"可执行文件":/usr/local/bin/phantomjs',
"参数":phantomjs['args']+['--disk cache=false','--load images=true',
"env":{'tz':"美国/洛杉矶"},
e lifetime decorator
"空闲关机秒":900,15分钟,关闭phantomjs如果它空闲了这么长时间
"最大生存秒":43200小时,每12小时重新启动phantomjs
}
r=lifetime(phantomjsrenderer(config))
尝试:
urls=[]一些无休止的url目标源
``幻影快照.settings.py``。
====
使用Phantomjs将HTML呈现到图像,此库的设计可用于大容量连续操作。
对于许多包装器执行的每个请求,都有一个新的包装器,这很慢)。
-从url呈现内容,或直接向呈现器提供html内容
roadmap
----
-decorator在指定时区下管理呈现
-decorator在指定pro下管理呈现xies.
示例
——
示例假设您已安装http://phantomjs.org/。
第一个示例演示如何呈现URL并将结果图像保存到/tmp/google render.jpg处的文件中。
:
js
来自phantom快照。phantom导入phantomjsrenderer
来自phantom快照。{'tz':'美国/洛杉矶'}
'超时':{
'页面加载':3
}
}
r=phantomjsrenderer(配置)
url='http://www.google.com'
尝试:
page=r.render(url,img_format='jpeg')
保存图像('/tmp/google-render,第页)
最后:
r.shutdown(15)
"base64":"ivborw0kggo<;snip>;rk5cyii=",
"error":null,
"加载时间":342
}
此示例显示如何直接向呈现过程提供HTML内容,而不是请求它。
:
来自phantom_snap.phantom import phantomjsrenderer
来自phantom_snap.imagetools import save_image
config={
"可执行":/usr/local/bin/phantomjs',
"args":phantomjs['args']+['--disk cache=false','--load images=true']
}
r=phantomjsrenderer(配置)
url='http://www.a-url.com'
html='<;html>;<;body>;boo ya!<;/body>;<;/html>;'
尝试:
page=r.render(url=url,html=html,img_format='png')
保存图像('/tmp/html render',page)
最后:
r.shutdown(15)
s.amazon.com/lambda/>;``您可以使用``lambdanderender`类,方法如下:
:
',
}
page=r.render(url,img_format='jpeg')
save_image('/tmp/youtube render',page)
r.shutdown()
要了解有关将渲染卸载到aws lambda的详细信息,请参阅``无服务器``文件夹。
decorator s
--
**lifetime**
如果计划在高容量下长时间运行``phantomjsrenderer``实例,建议使用``lifetime`` decorator包装实例,如下所示。
如果呈现程序处于空闲状态,或者在释放任何累积资源的最大生存期之后,decorator将透明地关闭底层phantomjs进程。如果phantomjs配置为使用基于内存的浏览器缓存来防止缓存太大了。在"lifetime"装饰程序关闭呈现程序(由于空闲时间或最长时间)之后,下一个呈现请求将自动创建新的phantomjs进程。
::
from phantom快照.settings import phantomjs
from phantom快照.phantom import phantomjs renderer
从phantom_snap.decorators导入生存期
config={
"可执行文件":/usr/local/bin/phantomjs',
"参数":phantomjs['args']+['--disk cache=false','--load images=true',
"env":{'tz':"美国/洛杉矶"},
e lifetime decorator
"空闲关机秒":900,15分钟,关闭phantomjs如果它空闲了这么长时间
"最大生存秒":43200小时,每12小时重新启动phantomjs
}
尝试:
urls=[]一些无休止的url目标源
``幻影快照.settings.py``。