鱼C论坛

 找回密码
 立即注册
查看: 2290|回复: 2

为什么我爬下来的图片打开不了

[复制链接]
发表于 2017-4-4 16:52:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位大神好。本人小白一个。情况是这样的:可以爬到图片   但是爬下来的图片打开之后显示不了    图片大小也特别的小。
代码如下:

import requests
from bs4 import BeautifulSoup
import os

headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"}
all_url = 'http://www.360doc.com/content/14/0221/14/13773668_354483683.shtml'  
start_html = requests.get(all_url,  headers=headers)  

Soup = BeautifulSoup(start_html.text, 'lxml')

all_a = Soup.find('ul', class_='tklist').find_all('a')
all_img = Soup.find('ul', class_='tklist').find_all('img')
for a in all_a:
    title = a.get_text()
    href = a['href']
    #print(title, href)
   
for img in all_img:
    img_alt = img['alt']
    img_url = img['src']
    print(img_alt,img_url)
   
    path = str(img_alt).strip()
    os.makedirs(os.path.join("D:\plants", path))
    os.chdir("D:\plants\\"+path)
   
    name = img_url[-9:-4]
    imgs = requests.get(img_url, headers=headers)
    f = open(name+'.jpg', 'ab')
    f.write(imgs.content)
    f.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-4 19:29:36 | 显示全部楼层
多换几个代理吧,这个网站的图片用同一个浏览器去读取图片重新刷新都会被拒绝访问
requests.get(img_url, headers=headers)主要是这一句,我调试了下,基本到这里获取到的都是403 forbidden 所以你下载的图片其实什么都没有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-5 18:53:03 | 显示全部楼层
lumber2388779 发表于 2017-4-4 19:29
多换几个代理吧,这个网站的图片用同一个浏览器去读取图片重新刷新都会被拒绝访问
requests.get(img_url,  ...

感谢提醒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 10:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表