Python爬取精美壁纸,附源码

共 1969字,需浏览 4分钟

 ·

2021-09-11 02:45

先上效果图

需要头文件
import reimport requestsimport os
因为爬虫需要用到请求网络部分,所以需要这两个包,没有的话自行下载即可。而os是用于操作系统用的,这里是保存图片。
完整的请求
url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=='+name+'+&pn='+str(i*30)        result = requests.get(url,headers=headers)        dowmloadPic(result.content.decode(), name)
这里细心的朋友是会发现到其实百度图片是分动态加载和静态加载的。只需要把index改成flip就可以进行静态加载。这样子爬取页面还能翻页,简单了许多。
得到了html之后需要用到正则表达式
 pic_url = re.findall('"objURL":"(.*?)",',html,re.S)
re.findall是使用正则表达式,这里没有什么好说的。可以自行深入了解下findall的用法。
图片下载
 fp = open(dir, 'wb')        fp.write(pic.content)        fp.close()
最后取得的图片是需要保存到本地硬盘,我们只需要把路径设置好就行。
完整代码:
#!/usr/bin/python# -*- coding: UTF-8 -*-import reimport requestsimport os

def dowmloadPic(html, keyword,i): pic_url = re.findall('"objURL":"(.*?)",',html,re.S) abc=i*60 print('找到关键词:' + keyword + '的图片,现在开始下载图片...') ...完整代码:请移步到,公众号:诗一样的代码
dir = r'D:\image\i' + keyword + '_' + str(abc) + '.jpg' if not os.path.exists('D:\image'): os.makedirs('D:\image') fp = open(dir, 'wb') fp.write(pic.content) fp.close() abc += 1

if __name__ == '__main__': #word = input("Input key word: ") headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'} name = input('输入下载图片的名字') num = 0 x = input('您要爬取几张呢?,n*60')
for i in range(int(x)): url = 'https://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=='+name+'+&pn='+str(i*30) result = requests.get(url,headers=headers) dowmloadPic(result.content.decode(), name,i)print("下载完成")

细心的同学可以发现,我们只需要输入不同的关键字,就可以爬取不同的图片。
这个爬虫入门这么简单,你们学废了吗?

搜索下方加老师微信

老师微信号:XTUOL1988切记备注学习Python

领取Python web开发,Python爬虫,Python数据分析,人工智能等精品学习课程。带你从零基础系统性的学好Python!

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权


浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报