Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中获取.jsp生成的PNG_Python_Jsp_Png_Screen Scraping_Mechanize - Fatal编程技术网

在Python中获取.jsp生成的PNG

在Python中获取.jsp生成的PNG,python,jsp,png,screen-scraping,mechanize,Python,Jsp,Png,Screen Scraping,Mechanize,我试图抓取一个PNG图像,它是在web服务中用JSP动态生成的 我尝试访问它所包含的网页,并抓取图像src属性;但是链接会导致一个.jsp文件。用urllib2读取响应只会显示出很多胡言乱语 我还需要在登录相关web服务时使用mechanize执行此操作。这似乎排除了使用webkit2png或类似工具获取屏幕截图的选项 感谢您的建议。如果您正确使用urllib(例如,确保您的用户代理类似于浏览器等),您返回的“胡言乱语”就是实际文件,因此您只需将其写入磁盘(使用“wb”打开文件,以二进制模式写入

我试图抓取一个PNG图像,它是在web服务中用
JSP
动态生成的

我尝试访问它所包含的网页,并抓取图像
src
属性;但是链接会导致一个
.jsp
文件。用
urllib2
读取响应只会显示出很多胡言乱语

我还需要在登录相关web服务时使用
mechanize执行此操作。
这似乎排除了使用
webkit2png
或类似工具获取屏幕截图的选项


感谢您的建议。

如果您正确使用urllib(例如,确保您的用户代理类似于浏览器等),您返回的“胡言乱语”就是实际文件,因此您只需将其写入磁盘(使用“wb”打开文件,以二进制模式写入)如果你需要的话,可以用一些图像处理库重新阅读。或者您可以使用urlretrieve将其直接保存在文件系统上

如果这是一个jsp,那么它很可能会接受参数,这些参数可能在请求完成之前由浏览器通过javascript追加;在尝试复制之前,您应该先查看浏览器发出的真实请求。你可以通过Chrome开发者工具、FirefoxLiveHttpHeaders等来实现这一点


我真的希望你没有试图破坏验证码。

看起来
Selenium
可能是抓取屏幕截图的好选择,尽管在无头服务器上运行需要大量配置