爬取wallhaven壁纸网站图片

2023-08-22 10:57:42 浏览数 (1)

以下代码仅供学习交流,主要功能wallhaven壁纸网站图片

程序运行后会在当前目录下生成bizhi的文件夹存储爬取到的图片

图片较大,建议爬取页数选取小一点5.需要第三方库

如遇到什么问题和报错请在评论区详细列出

代码语言:javascript复制
import requests,os
from bs4 import BeautifulSoup
ab = 1
url = 'https://wallhaven.cc/search'
# 如果不存在bizhi文件夹,创建壁纸文件夹
if  not os.path.exists('bizhi'):
    os.mkdir('bizhi')
keyword = input('请输入你要爬取的壁纸关键词:')
start_page = int(input("起始页码:"))
end_page = int(int(input("结束页码:")) 1)
 
for i in range(start_page, end_page):
    data = {
        'q': keyword,
        'sorting': 'random',
        'ref': 'fp',
        'seed': 'pDRjMC',
        'page': i,
    }
    # 请求搜索链接
    resp = requests.get(url=url,params=data)
    # 解析搜索页面
    page = BeautifulSoup(resp.text,'html.parser')
    # 查找图片链接
    urls = page.find_all("a",attrs={'class':'preview'})
    for n_url in urls:
        href = n_url.get('href')
        # 请求图片链接
        resp1 = requests.get(url=href)
        # 解析图片页面
        page1 = BeautifulSoup(resp1.text,'html.parser')
        img = page1.find('img',attrs={"id":"wallpaper"})
        # 查找图片下载链接
        img_url = img.get('src')
        # 下载图片#
        resp2 = requests.get(url=img_url).content
        # 保存图片
        with open(f'./bizhi/{ab}.jpg','wb') as f:
                f.write(resp2)
        ab  = 1
 
print('爬取完毕')

0 人点赞