python - 从Python中的URL调用的方法中检索图像

标签 python python-2.7 urllib

我正在尝试使用 python 检索通过给定 URL 返回的图像,例如这个:

http://fundamentus.com.br/graficos3.php?codcvm=2453&tipo=108

我尝试使用 urllib 检索方法来执行此操作:

import urllib

urlStr = "http://fundamentus.com.br/graficos3.php?codcvm=2453&tipo=108"
filename = "image.png"
urllib.urlretrieve(urlStr,filename)

我已经将其用于其他 URL(例如 http://chart.finance.yahoo.com/z?s=CMIG4.SA&t=9m ),但对于第一个 URL 不起作用。

有人知道如何为给定的 URL 制作此内容吗? 注意:我使用的是 Python 2.7

最佳答案

您需要使用一个可以使用 requests 执行的 session :

import requests

with requests.Session() as s:
    s.get("http://fundamentus.com.br/graficos.php?papel=CMIG4&tipo=2")
    with open("out.png", "wb") as f:
       f.write(s.get("http://fundamentus.com.br/graficos3.php?codcvm=2453&tipo=108").content)

它可以在您的浏览器中运行,因为您访问了图像所在的初始页面,因此设置了所有必要的 cookie。

关于python - 从Python中的URL调用的方法中检索图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39008074/

相关文章:

python - 在 matplotlib 中获取合理的默认日期轴

python - 在 Python 中获取多个元组列表的第二个元素的交集的简单有效的方法?

python - 如何在Python中在字符前后插入空格并换行?

python - 使用BioPython时出现Urllib错误

python - 将 cURL 转换为 urllib 请求

python - 为什么python click下的帮助中添加了换行符

Python:使用数组作为另一个数组的条件

python - 将 Python 转换为 Scala

python - 通过 virtualenv 使用脚本时出现 fatal error - python.exe 周围的额外引号

Python urllib POST 响应