keyWord = “杨超越” # 设置爬取图片的主题
number = 10 # 爬取图片数量
if not os.path.exists(keyWord):
os.makedirs(keyWord)
url = r’http://image.baidu.com/search/flip?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq’ \
r’=1497491098685_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&ctd’ \
r’=1497491098685%5E00_1519X735&word=’ + keyWord
get = requests.get(url)
pciture_url = re.findall(r’objURL":“(.*?)”,', get.text)
a = 1
for i in pciture_url:
p_type = i.split(‘.’)[-1]
a += 1
try:
picture = requests.get(i, timeout=10)
name = “%s/%s_%d.%s” % (keyWord, keyWord, a, p_type)
with open(name, ‘wb’) as f:
f.write(picture.content)
print(‘第%d张图片正在下载’ % a)
except:
print(‘第%d张图片下载失败!已跳过…’ % a)
if a >= number:
break
代码逻辑主要是爬取百度图片网站的网页源码,然后从源码中提取每张图片的地址链接,使用循环保存每一张图片。
可以将这份代码直接拷贝到python编辑器里,只需要修改keyWord变量和num变量,设置成自己想爬取的图片主题和数量就可以运行下载了。爬取的结果如下图所示:
===================================================================
上面的代码只能爬取一页,因为他只对一个网址里的图片链接进行提取,如果想爬取大批量的图片,需要提取图片网站下一页的链接,这个核心代码如下,如果需要完整版代码可以后台回复【一行01】就可以获得所有代码
def get_url_one_page(url):
html = requests.get(url)
html.encoding = ‘utf-8’
html = html.text
url_pic_this_page = re.findall(r’“objURL”:“(.*?)”,', html)
url_next_page_prefix = re.findall(r’下一页’, html)
if len(url_next_page_prefix) != 0:
url_next_page = ‘http://image.baidu.com’ + url_next_page_prefix[0]
else:
print(“已到达最后一页!”)
url_next_page = None
return url_pic_this_page, url_next_page
文末有福利领取哦~
👉一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉二、Python必备开发工具
👉三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉 四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
👉五、Python练习题
检查学习结果。
👉六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!