温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用python爬取百度图片网站并批量下载图片

发布时间:2022-01-13 15:14:52 阅读:364 作者:小新 栏目:大数据
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍如何使用python爬取百度图片网站并批量下载图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

no bb show your code

import osimport requestsimport rekeyWord = "杨超越" # 设置爬取图片的主题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=' + keyWordget = requests.get(url)pciture_url = re.findall(r'objURL":"(.*?)",'get.text)a = 1for 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变量,设置成自己想爬取的图片主题和数量就可以运行下载了。爬取的结果如下图所示:

如何使用python爬取百度图片网站并批量下载图片  
 

爬取代码高级版本

上面的代码只能爬取一页,因为他只对一个网址里的图片链接进行提取,如果想爬取大批量的图片,需要提取图片网站下一页的链接,这个核心代码如下,如果需要完整版代码可以后台回复【一行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'<a href="(.*?)" class="n">下一页', 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代码转成可以直接使用的exe,如下图所示:

如何使用python爬取百度图片网站并批量下载图片  

在爬取关键词里输入想要爬取的图片主题,然后输入爬取图片张数,最后选择图片保存的路径并点击开始爬取就只需要静静等待即可(网速够快的话,一般来说一秒下载一张图片)最后下载后的结果如下

如何使用python爬取百度图片网站并批量下载图片

以上是“如何使用python爬取百度图片网站并批量下载图片”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4597579/blog/4452517

AI

开发者交流群×