爬取风景图片

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

一,知道爬取自己想要的壁纸图片网址
模型写出来

'''
爬取网络图片
1,要到主页面的源码,从主页面拿到子页面连接
2,通过子页面内容,找到子页面下载路径
3,下载图片

'''

def picture():
    host_page(url)
    son_page()
    download()
def host_page():
    #获取主页面
    pass
def son_page():
    #获取子页面
    pass
def download():
    #下载图片
    pass
if __name__ == '__main__':
    picture()

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

'''
爬取网络图片
1,要到主页面的源码,从主页面拿到子页面连接
2,通过子页面内容,找到子页面下载路径
3,下载图片
'''
import requests
from bs4 import BeautifulSoup
import time
def picture():
    host_page()
    download()
def host_page():
    #获取主页面
    url='https://pic.netbian.com/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():
    #下载图片
    pass
if __name__ == '__main__':
    host_page()

显示乱码,所以进行编码更改在这里插入图片描述
参考操作地址:https://editor.csdn.net/md/?articleId=112390388(处理方法小编写弄一个单独的博客,欢迎大家观看)
在这里插入图片描述
在这里插入图片描述
处理完乱码,进行筛选,选择自己想要内容。

'''
爬取网络图片
1,要到主页面的源码,从主页面拿到子页面连接
2,通过子页面内容,找到子页面下载路径
3,下载图片
'''
import requests
from bs4 import BeautifulSoup
import time
def picture():
    host_page()
    download()
def host_page():
    #获取主页面
    url='https://pic.netbian.com/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():
    #下载图片
    pass
if __name__ == '__main__':
    host_page()

现象:地址在这里插入图片描述
下面创建一个文件夹,用来存储照片。
在这里插入图片描述

'''
爬取网络图片
1,要到主页面的源码,从主页面拿到子页面连接
2,通过子页面内容,找到子页面下载路径
3,下载图片
'''
import requests
from bs4 import BeautifulSoup
import time
def picture():

    #获取主页面
    url='https://pic.netbian.com/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('https://pic.netbian.com/'+href)
        child_resp.encoding='gbk'
        text=child_resp.text
        child_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('https://pic.netbian.com/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()

在这里插入图片描述

在这里插入图片描述
文件夹取消索引(方便)
在这里插入图片描述

好了,就完成了,谢谢大家观看。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韶光不负

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值