gpt4 book ai didi

python - 用 python 抓取图像但找不到图像

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:38 25 4
gpt4 key购买 nike

我正在尝试从 stockcharts.com 中抓取 url 中的图表图像。例如来自:http://stockcharts.com/h-sc/ui?s=AMZN

但是,当检查有问题的元素时,它不是带有 .jpg、.png 等后缀的正确图像 src。例如,上述链接中的相关元素是:http://stockcharts.com/c-sc/sc?s=AMZN&p=D&b=5&g=0&i=0&r=1479451634864

因此,当我尝试在 python 2.7 中使用以下代码时,我在共享脚本的目录中得到一个空文件:

import urllib
url = "http://stockcharts.com/c-sc/sc?s=AMZN&p=D&b=5&g=0&i=0&r=1479451634864"
filename = "testimg.jpg"
urllib.urlretrieve(url, filename)

这是一个 javascript 呈现的页面,还是我遗漏了什么?对其他地方的引用?

最佳答案

站点检查 User-Agent header ;它仅允许特定的用户代理。

您需要更改 header 才能获取图像。否则,网站会返回 403 Forbidden 响应。

urllib.urlretrieve不接受额外的标题,你需要使用 urllib2.urlopen/urllib2.Request指定自定义 header 并自己保存文件:

import urllib2

url = "http://stockcharts.com/c-sc/sc?s=AMZN&p=D&b=5&g=0&i=0&r=1479451634864"
filename = "sc.png"
req = urllib2.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
u = urllib2.urlopen(req)
with open(filename, 'wb') as f:
f.write(u.read())

关于python - 用 python 抓取图像但找不到图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40690093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com