python爬虫爬取图片打不开(python 爬取 图片)
使用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、然后再次运行该代码,最后,图片抓取完成,就不会再报错了。