python爬虫爬取图片打不开(python 爬取 图片)

http://www.itjxue.com  2023-03-26 16:42  来源:未知  点击次数: 

使用Python爬虫下载图片,得到的图片不显示?

你需要检查一下你的结果,看看是否请求成功了。可能服务器返回的并不是一个图片,但是你强制给他写入到图片格式文件中了,所以没办法显示。

你可以通过输出response或者使用抓包软件来检查。

python 复制图片后为啥打不开啊?

你读取使用的 ‘rb’ 读取二进制格式读取。

那么,写入的时候最好使用 ‘wb’ 写二进制格式

#?你可以使用?shutil?模块,来复制文件

import?shutil

shutil.copy('d:/2012.png',?'e:/2012.png')

python3 爬取图片异常的原因?

我们在下载文件时,一会会采取urlretrieve或是requests的get方式,

from urllib.request import urlretrieve

urlretrieve(self.url, filename="xxx.png")

但对于连续下载,各个文件保存是需要时间的,而程序运行永运是快于存储的,我怀疑这是水管里流水速度与缸的大小不合适的原因,那可以试试下面这种方式:

r = requests.get(url, stream=True)

with open(local_filename, 'wb') as f:

for chunk in r.iter_content(chunk_size=1024):

if chunk: # filter out keep-alive new chunks

f.write(chunk)

f.flush()

python图片爬虫怎么运行不出来,大婶们帮着看看

#?参考一下吧

#!/usr/bin/env?python

#?-*-?coding:?utf-8?-*-

#?by?carlin.wang

?

?

import?urllib

import?urllib2

import?time

import?os

import?random

from?bs4?import?BeautifulSoup

?

?

?

?

def?get_Html(url):

????headers?=?{"User-Agent":"Mozilla/5.0?(Windows?NT?6.1;?WOW64;?rv:41.0)?Gecko/20100101?Firefox/41.0"}

????req?=?urllib2.Request(url,headers=headers)

????res?=?urllib2.urlopen(req)

????res_html?=?res.read().decode('UTF-8')

????return?res_html

?

def?urlPages(page):

????url?=?"

(page)?+?'#comments'

????return?url

?

def?find_img_url(html):

????soup?=?BeautifulSoup(html,'html.parser',from_encoding='utf-8')

????img_urls?=?soup.find_all(class_='view_img_link')

????return?img_urls

?

?

?

def?download_img(url):

????fdir?=?"D:/data/jiandan"

????if?not?os.path.exists(fdir):

????????os.makedirs(fdir)

????try:

????????#(p2)?=?os.path.split(url)

????????#(p2,?f2)?=?os.path.split(url)

????????f2?=?''.join(map(lambda?xx:(hex(ord(xx))[2:]),os.urandom(16)))?#随机字符串作为文件名字,防止名字重复

????????#if?os.path.exists(fdir?+?"/"?+?f2):

????????#????print?"fdir?is?exists"

????????if?url:

????????????imgtype?=?url.split('/')[4].split('.')[1]

????????????filename,msg?=?urllib.urlretrieve(url,?fdir?+?"/"?+?f2?+?'.'?+?imgtype)

????????????if?os.path.getsize(filename)??100:

????????????????os.remove(filename)

????except?Exception,e:

????????return?"down?image?error!"

?

?

def?run():

????for?page?in?range(2001,2007):

????????html?=?get_Html(urlPages(page))

????????urls?=?find_img_url(html)

????????for?url?in?urls:

????????????s?=?url.get('href')

????????????print?s

????????????download_img(s)

?

if?__name__?==?'__main__':

????run()

python爬图片报错 [Errno 13] Permission denied: 'D:\\python\\test2'

python爬图片报错 [Errno 13] Permission denied: 'D:\\python\\test2',是代码输入错误造成的,解决方法如下:

1、首先在网页上抓取图片时open函数有时会报错,如图。

2、然后,根据提示找到错误代码处进行查看,是open函数出了问题。

3、再仔细看这个部分报错的文件名称,发现有个*号,问题就找出来了。

4、使用.replace('*','')将*号替换,就可以了。

5、然后再次运行该代码,最后,图片抓取完成,就不会再报错了。

(责任编辑:IT教学网)

更多

推荐Access文章