当前位置:首页 » 编程语言 » python爬图片

python爬图片

发布时间: 2022-01-29 14:39:07

python如何爬取百度图片

几乎所有的网站都会有反爬机制,这就需要在爬取网页时携带一些特殊参数,比如:user-agent、Cookie等等,可以在写代码的时候用工具将所有参数都带上。

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

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

Ⅲ python为啥有时候用.content爬取的图片是0 kb

这种情况一般都是你虽然找到了下载地址,却无法下载图片。最常见的两个可能:你和服务器之间的通信效果不好,另一种就是人家基于内容进行了保护,也就是反扒

linux下python怎么写爬虫获取图片

跟linux有什么关系,python是跨平台的,爬取图片的代码如下:

import urllib.requestimport osimport randomdef url_open(url):
req=urllib.request.Request(url) #为请求设置user-agent,使得程序看起来更像一个人类
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0') #代理IP,使用户能以不同IP访问,从而防止被服务器发现
'''iplist=['1.193.162.123:8000','1.193.162.91:8000','1.193.163.32:8000']
proxy_support=urllib.request.ProxyHandler({'http':random.choice(iplist)})
opener=urllib.request.build_opener(proxy_support)
opener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER')]

urllib.request.install_opener(opener)'''

response=urllib.request.urlopen(req)
html=response.read() return htmldef get_page(url):

html=url_open(url).decode('utf-8')
a=html.find('current-comment-page')+23
b=html.find(']',a) #print(html[a:b])
return html[a:b]def find_imgs(url):
html=url_open(url).decode('utf-8')
img_addrs=[]

a=html.find('img src=') while a!=-1:
b=html.find('.jpg',a,a+140) if b!=-1: if html[a+9]!='h':
img_addrs.append('http:'+html[a+9:b+4]) else:
img_addrs.append(html[a+9:b+4]) else:
b=a+9

a=html.find('img src=',b) for each in img_addrs:
print(each+'我的打印') return img_addrsdef save_imgs(folder,img_addrs):
for each in img_addrs: #print('one was saved')
filename=each.split('/')[-1] with open(filename,'wb') as f:
img=url_open(each)
f.write(img)def download_mm(folder='ooxx',pages=10):
os.mkdir(folder)
os.chdir(folder)

url=""
page_num=int(get_page(url)) for i in range(pages):
page_num=page_num-1
page_url=url+'page-'+str(page_num)+'#comments'
img_addrs=find_imgs(page_url)
save_imgs(folder,img_addrs)if __name__=='__main__':
download_mm()

完成

运行结果

Ⅳ 用Python爬虫爬取的图片怎么知道图片有没有水印

看啊 眼睛是能判断的

Ⅵ python爬虫图片 在目录中存在图片1 跳过该图片1,继续写入图片2的代码

给你一个代码借鉴下:

#!/usr/bin/python3
#-*-coding:utf-8-*-

importrequests
importre
importos

Header={"User-Agent":"Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/38.0.2125.104Safari/537.36"}

defpicture_get(picture_url):
try:
root="E:/pic/"
path=root+url.split('/')[-1]
ifnotos.path.exists(root):#目录不存在创建目录
os.mkdir(root)
ifnotos.path.exists(path):#文件不存在则下载
r=requests.get(picture_url,headers=Header)
f=open(path,"wb")
f.write(r.content)
f.close()
print("文件下载成功")
else:
print("文件已经存在")
except:
print("获取失败")

Ⅶ Python爬虫爬取图片这个报错怎么处理

你好!你的错误原因在于html页面获取到的img标签src属性中的链接,可能是因为src中的url格式是这样的:

<imgsrc="//hao123.com/xxx/xxx/xxx/"></img>

这样获取到的链接都没有带上协议:http或者https。而导致程序抛出ValueError的错误异常。

因为正常的url格式应该类似这样的:https://www..com/

即 协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志

参考网页链接

可将代码中第一个for循环中download_links.append修改为:

forpic_taginsoup.find_all('img'):
pic_link=pic_tag.get('src')
download_links.append('http:'+pic_link)

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

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

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

Ⅸ 使用python爬取网页,获取不到图片地址

这个大图片是在点击之后用 JS 控制加载的。

你可以看看 js/js.js 这个文件,253 行:

functionchangeImg(){
jQuery("#bitImg").attr('src','p/p'+pictID+'/'+indexNum+'.'+jpgPng);
}

其实大图的规律很好找, 下面缩略图列表的 src 可以用 #variContent > li > img 取到,可以在源码中的 107 行找到:

view-source:http://pictogram2.com/?p=2315

缩略图列表地址长这样:

/p/p0997/tn/1.jpg

/p/p0997/tn/2.jpg

/p/p0997/tn/3.jpg

...

如果要获取大图,只要去掉“tn”这一段就可以:

/p/p0997/1.jpg

/p/p0997/2.jpg

/p/p0997/3.jpg

...

然后拼接域名在前面,GET 下来就是大图,比如第一个大图链接:

第一个大图地址

不过,你如果仅仅只是想要抓那个站的全部素材,穷举“p0997”这一段的序号(比如改成“p0098”,这个应该是图集的 ID),并且遍历最后一段的图片序号,扩展名可能是 jpg 也可能是 png,从 1 开始(“1.jpg”,“2.jpg”...)直到返回 404 停止。

思路大概是这么个思路,不过话说回来,你这么爬人家素材真的道德吗?

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

你画个图别人也不知道你的tree的数据结构,你要写出这个tree在python中是如果表达的,才能写对应的遍历代码埃 如果解决了您的问题请采纳! 如果未解决请继续追问

热点内容
微博缓存的图片能清理吗 发布:2025-01-11 11:01:49 浏览:306
文字加密器 发布:2025-01-11 11:01:08 浏览:453
vc60非静态编译 发布:2025-01-11 10:51:32 浏览:614
电脑上怎么解压缩文件 发布:2025-01-11 10:51:31 浏览:782
枪战王者如何用账号密码登录 发布:2025-01-11 10:30:56 浏览:936
mysql在linux下安装 发布:2025-01-11 10:30:49 浏览:843
数据库copy 发布:2025-01-11 10:26:06 浏览:533
unity清理缓存 发布:2025-01-11 10:25:23 浏览:467
优酷视频双击上传 发布:2025-01-11 10:24:41 浏览:964
存储脐带胎儿干细胞 发布:2025-01-11 10:18:36 浏览:332