1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 方法教程 | Python爬虫:爬取风景图片

方法教程 | Python爬虫:爬取风景图片

时间:2022-07-30 05:45:03

相关推荐

方法教程 | Python爬虫:爬取风景图片

“突发奇想,给各位爬爬壁纸图片,话不多说,开始行动。如果文章对你有帮助,点赞,收藏。”

一,知道爬取自己想要的壁纸图片网址

模型写出来

'''爬取网络图片1,要到主页面的源码,从主页面拿到子页面连接2,通过子页面内容,找到子页面下载路径3,下载图片'''def picture():host_page(url)son_page()download()def host_page():#获取主页面passdef son_page():#获取子页面passdef download():#下载图片passif __name__ == '__main__':picture()

目标

点击f12,进入开发者模式。找到自己需要的图片(或者点击鼠标右键,点击检查也可以)

​'''爬取网络图片1,要到主页面的源码,从主页面拿到子页面连接2,通过子页面内容,找到子页面下载路径3,下载图片'''import requestsfrom bs4 import BeautifulSoupimport timedef picture():host_page()download()def host_page():#获取主页面url='/4kfengjing/'headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"} # 模拟的服务器头resp=requests.get(url,headers=headers)#换头newurl=BeautifulSoup(resp.text,'html.parser')#主页面内容就出来了print(newurl)def download():#下载图片passif __name__ == '__main__':host_page()

显示乱码,所以进行编码更改

参考操作地址:/md/?articleId=112390388(处理方法小编写弄一个单独的博客,欢迎大家观看)

处理完乱码,进行筛选,选择自己想要内容

'''爬取网络图片1,要到主页面的源码,从主页面拿到子页面连接2,通过子页面内容,找到子页面下载路径3,下载图片'''import requestsfrom bs4 import BeautifulSoupimport timedef picture():host_page()download()def host_page():#获取主页面url='/4kfengjing/'headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"} # 模拟的服务器头resp=requests.get(url,headers=headers)#换头resp.encoding='gbk'#处理乱码newurl=BeautifulSoup(resp.text,'html.parser')#主页面内容就出来了alist=newurl.find('div',class_='slist').find_all("a")#查找a标签for i in alist :print(i.get('href'))#获取子页面def download():#下载图片passif __name__ == '__main__':host_page()

现象:地址

下面创建一个文件夹,用来存储照片。

'''爬取网络图片1,要到主页面的源码,从主页面拿到子页面连接2,通过子页面内容,找到子页面下载路径3,下载图片'''import requestsfrom bs4 import BeautifulSoupimport timedef picture():#获取主页面url='/4kfengjing/'headers = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"} # 模拟的服务器头resp=requests.get(url,headers=headers)#换头resp.encoding='gbk'#处理乱码newurl=BeautifulSoup(resp.text,'html.parser')#主页面内容就出来了alist=newurl.find('div',class_='slist').find_all("a")#查找a标签for i in alist :href=i.get('href')#获取子页面child_resp=requests.get('/'+href)child_resp.encoding='gbk'text=child_resp.textchild_page = BeautifulSoup(text, 'html.parser')a=child_page.find('a',id='img')img=a.find('img')src=img.get('src')#下载图片print(src)img_resp=requests.get('/tupian/21953.html'+src)img_name=src.split("/")[-1]#取url中最后一个/以后内容为名字with open('picture/'+img_name,mode='wb') as f :f.write(img_resp.content) #图片内容获取print('下载完成')time.sleep(1)#防止ip地址被封,休息1秒后继续if __name__ == '__main__':picture()

文件夹取消索引(方便)

这是保存下来的Python爬取风景图片的方法,如有不足之处或更多技巧,欢迎指教补充。愿本文的分享对您之后爬虫有所帮助。谢谢~

编辑排版:筱筱 原创:韶光不负

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。