在Python中获取.jsp生成的PNG
我试图抓取一个PNG图像,它是在web服务中用在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”打开文件,以二进制模式写入
JSP
动态生成的
我尝试访问它所包含的网页,并抓取图像src
属性;但是链接会导致一个.jsp
文件。用urllib2
读取响应只会显示出很多胡言乱语
我还需要在登录相关web服务时使用mechanize执行此操作。
这似乎排除了使用webkit2png
或类似工具获取屏幕截图的选项
感谢您的建议。如果您正确使用urllib(例如,确保您的用户代理类似于浏览器等),您返回的“胡言乱语”就是实际文件,因此您只需将其写入磁盘(使用“wb”打开文件,以二进制模式写入)如果你需要的话,可以用一些图像处理库重新阅读。或者您可以使用urlretrieve将其直接保存在文件系统上 如果这是一个jsp,那么它很可能会接受参数,这些参数可能在请求完成之前由浏览器通过javascript追加;在尝试复制之前,您应该先查看浏览器发出的真实请求。你可以通过Chrome开发者工具、FirefoxLiveHttpHeaders等来实现这一点
我真的希望你没有试图破坏验证码。看起来
Selenium
可能是抓取屏幕截图的好选择,尽管在无头服务器上运行需要大量配置