25 初学者求助

本帖最后由 NY021 于 2021-2-21 17:40 编辑

刚学一个获取网络照片的方法,同样的代码老师运行OK,我能运行不报错,本地也有a.jpg图片,但是打开就是空白,百思不得其解,求教大神:
import re
import requests

path = '<img src="http://365imgs.cn/cms/files/88/96/fa32f2dce01e0ae2c962c76c512e14656bae8896.jpg">'
result = re.match(r'<img src="(.*)">', path)
print('图片链接:', result.group(1))  # 能正确拿到图片链接

image_path = result.group(1)
resp = requests.get(image_path)
with open('a.jpg', 'wb') as wstream:
    wstream.write(resp.content)
    print('图片已下载')


请先 登录 后评论

最佳答案 2021-09-23 23:15

加个请求头就可以了

  1. def jpgDownlerError():
  2.     # 定义请求头
  3.     headers = {
  4.         'User-Agent': 'Mozilla/5.0'
  5.     }
  6.     image_path = 'http://365imgs.cn/cms/files/88/96/fa32f2dce01e0ae2c962c76c512e14656bae8896.jpg'
  7.     # 添加参数headers=headers
  8.     resp = requests.get(image_path,headers=headers,timeout=(5,5))
  9.     print(resp.status_code)
  10.     with open('a.jpg', 'wb') as wstream:
  11.         wstream.write(resp.content)
  12.         print('图片已下载')
复制代码

请先 登录 后评论

其它 3 个回答

千四儿
主要检查图片地址获取的是不是有误,是否可以通过浏览器获取到图片!图片为空说明数据没有写进去。
请先 登录 后评论
黑小黑咻

你这个报错了
请先 登录 后评论
瑜彬
```
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'
    }
```
加上请求头就行,把你的User-Agent改为浏览器的,默认用的python,他识别你是程序就不让你访问,所以你下载不了
请先 登录 后评论
  • 4 关注
  • 0 收藏,426 浏览
  • 大耳朵狗 提出于 2021-09-23 23:15

相似问题