Python速学爬取网页图片总结

421次阅读
没有评论

这是一个学习帖
三年级本学期开了Python和Java课,突然觉得编程原来也蛮有趣的!(相比大一时直接学C语言,现在回想起自己那时,是怎么回事啊?编程有那么挣扎,可能还是第一学年放松了,我这个反面例子,希望各位大一宝宝,不要放松,一定要找到学习的兴趣,把学习当做读故事一样,享受其中!)
————————学习操作爬虫之爬取百度贴吧图片————————–
学习的原网页(给大家比较品鉴):https://www.jianshu.com/p/9ddb2f89ec7c
一、下面是我搬运来的代码:
(1)使用Urllib模块爬取图片

import re from urllib import request n=input('请输入你想爬取图片的网站:') url_response=request.urlopen(n) data=url_response.read().decode('utf-8') list_photo=re.findall('https://img.+?.jpg',data)#正则表达式基本用法 print(list_photo)#输出图片在网页审查元素中的表达式,方便查错 n=1 for i in list_photo: try: request.urlretrieve(i,'photo\\%s.jpg' %n) except Exception as e: print(e) finally: print('图片%s下载成功'%n) n=n+1

(2)利用requests爬取图片

import re import requests n=input('请输入你想爬取图片的网站:') data=requests.get(n).text list_photo=re.findall('https://.+?.jpg',data)#正则表达式基本用法 print(list_photo)#输出图片在网页审查元素中的表达式,方便查错

n=1 for i in list_photo: try: photo=requests.get(i,timeout=10) except: print('下载失败') continue photolist2='photolist2//'+str(n)+'.jpg' fp=open(photolist2,'wb') fp.write(photo.content) fp.close() n=n+1

二、结果:
Python速学爬取网页图片总结
三、过程性总结
/>>>>>>>>>>>搬运的代码,是最开始网址大佬的代码******************/
1.利用urllib模块爬取是用下面的方式来下载图片:
request.urlretrieve(网页审查元素,‘文件夹名\%s.jpg’%n)
#注意一定是反斜杠’\\’
值得一说的是,这种下载方式必须调用Urllib模块中request函数
所以直接将这种方法转到第二种利用requests块来下载图片是不行的,但是相对来说非常简单!
2.利用requests块来爬取下载图片是用下面第二种方式:
photo=requests.get(网页审查元素,timeout=10)
photolist=‘文件夹名//’+str(n)+’.jpg’
fp=open(photolist,‘wb’)
fp.write(photo.content)
fp.close()
这里要注意的是:
①open中‘wb’是不能省略的
②一定是用requests.get()来获取URL发送的response而非request.get
3.最后,总结一下我先前自己写出现的一系列问题:
①代码最开头程序调用块出错,如requests写成了request,urllib出现各种写法等等
②未创建相应文件夹或者创建了名字与代码中不一致的文件夹或者根本忘写入文件夹([Errno 2] No such file or directory)
③最重要的一点,遇到错误,不要紧张,先看看程序是不是没有保存好,退出去,重新打开,运行,若还有错误,就度娘好好研究,还有好好努力!

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-25发表,共计1771字。
新手QQ群:570568346,欢迎进群讨论 Python51学习