爬取wallheaven壁纸

爬取的网址为 https://wallhaven.cc/toplist

爬取流程:

  1. 在首页中F12检查html

  2. 在详情页中检查html

  3. 编码

    # -- coding:UTF-8 --
    import requests
    from bs4 import BeautifulSoup
    import os'''
    思路:获取网址获取图片地址爬取图片并保存
    '''# 获取网址
    def getUrl(url):# 请求头headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ""Chrome/108.0.0.0 Safari/537.36 "}try:read = requests.get(url, headers=headers)  # 获取urlread.raise_for_status()  # 状态响应 返回200连接成功read.encoding = read.apparent_encoding  # 从内容中分析出响应内容编码方式return read.text  # Http响应内容的字符串,即url对应的页面内容except:return "连接" + url + "失败!"# 获取图片地址并保存下载
    def getPic(html):soup1 = BeautifulSoup(html, "html.parser")# 通过分析网页内容,查找img的统一父类及属性all_a = soup1.find_all(name='a', attrs={"class": "preview"})  # a为图片的标签for img in all_a:href = img['href']  # 获取a标签里的href内容,是该图片的详情页img_href = hrefsecond_html = getUrl(img_href)soup2 = BeautifulSoup(second_html, "html.parser")# 通过分析网页内容,查找img的统一父类及属性img = soup2.find(name='img', attrs={'id': "wallpaper"})  # img为图片的标签,id属性值为wallpaperdownload_link = img['src']  # 获取img的src属性值print("图片下载地址:"+download_link)root = "F:/Pic/"  # 保存的路径,可以自定义path = root + download_link.split('/')[-1]  # 获取img的文件名print("图片保存路径:"+path)try:if not os.path.exists(root):  # 判断是否存在文件并下载imgos.mkdir(root)if not os.path.exists(path):read = requests.get(download_link)with open(path, "wb") as f:f.write(read.content)f.close()print("文件保存成功!")else:print("文件已存在!")except:print("文件爬取失败!")# 主函数
    if __name__ == '__main__':init_page = int(input("请输入读取的初始页码:"))max_page = int(input("请输入读取的最大页码:"))# 分页读取图片for page in range(init_page, max_page):  # 此为1~5页,自行设定html_url = getUrl("https://wallhaven.cc/toplist?page=" + str(page))getPic(html_url)

爬取wallheaven壁纸相关推荐

  1. python爬取桌面壁纸(初学者),一看就会

    今天想给我的电脑里面多加点壁纸,但是嫌弃一个个保存太慢,于是想着写个爬虫直接批量爬取,正好我也刚刚学完爬虫. 我们要爬取一个壁纸网站 http://www.netbian.com/weimei/ind ...

  2. Python爬取wallhaven壁纸 2023.1.31

    Python爬取wallhaven壁纸 壁纸页面 前言 源码 壁纸页面 前言 学习中,未加多线程,由于网站.图片大小等因素导致下载缓慢 望各位大神提出建议并加以修善 网站主页及其爬取页如下,可自行修改 ...

  3. 用Python爬取手机壁纸,太简单了吧

    用Python爬取手机壁纸,太简单了吧! 人生苦短,快学Python! 在Python爬虫的学习过程中,爬取图片几乎是每个初学者都练习过的项目,比如我们之前就分享过:如何用Python快速爬取小姐姐的 ...

  4. Python【爬虫实战】爬取美女壁纸资源

    Python[爬虫实战]爬取美女壁纸资源 一:首先选取一个网站,这里我们选择了一个壁纸网站 二:进入网站,我们可以看到很多图片放在一页里 三:按下F12开发者工具,点击Elments查看网页的代码 四 ...

  5. Python爬虫-爬取wallhaven壁纸

    Python爬虫-爬取wallhaven壁纸 前言 可行性分析 功能介绍 效果展示 基本思路 1.获取每页(1页24张)壁纸的url 2.获取每张壁纸缩略图的url 3.获取壁纸原图下载的url 4. ...

  6. python爬取InterfaceLIFT壁纸,下载到本地,数据存入数据库(mysql,mongodb)

    github地址 欢迎star,欢迎拍砖 适用pythopn版本 Python 2.7 or Python 3.6 只在这两个版本之下测试过,正常运行 项目文件说明 main.py 主要文件 mysq ...

  7. 利用Python爬取必应壁纸

    前言 一个喜欢折腾的人,长期看到桌面只有一种壁纸,就想着自己从网上爬取一些壁纸,存下来,随机切换壁纸. 本文仅供学习交流. 工具 Python3 + requests + re Fiddler 抓包工 ...

  8. Python爬取百度壁纸图片

    Python爬取百度壁纸图片 #! /usr/bin/python -- coding: utf-8 -- @Author : declan @Time : 2020/05/31 16:29 @Fil ...

  9. 爬虫之Scrapy框架爬取彼岸壁纸案例分享

    爬虫之Scrapy框架爬取彼岸壁纸案例分享 前段时间在网上看到有人爬取了彼岸壁纸的案例,由于爬取的图片较多,爬取速度感觉不快,所以就自己写了个Scrapy框架,个人觉得爬取速度快多了. 代码如下. 文 ...

最新文章

  1. ISME:水库蓝藻影响真核浮游生物的群落演替和物种共存
  2. 斜率-有问题,部分没有归一化-错了——图片保存
  3. Swift之点击UITableView单元格动态改变cell高度
  4. PostgreSQL下安装pg_stat_statements
  5. python switch高效替代_Python中用什么代替switch
  6. 【ShaderToy】跳动的心
  7. 苹果6换屏多钱_iPhone12Pro更换屏幕多少钱 苹果12官方换屏价格公布
  8. python从入门到放弃图片-Python从入门到放弃:与用户交互
  9. Mybatis动态数据源
  10. 例2.2 成绩排序 - 九度教程第2题(排序)
  11. lombok依赖包介绍
  12. linux ubuntu18.04下载,正确下载Ubuntu 18.04.2 ISO的方法
  13. 银行业务光凭“刷脸”真的靠谱吗
  14. Bzoj4556: [Tjoi2016Heoi2016]字符串
  15. python中easygui()库的使用
  16. 【洛谷题解】B2033 A*B 问题
  17. android 软件调用c库,Android调用第三方C++算法库
  18. Python数据分析与机器学习47-维基百科词条EDA
  19. 【阿里云·云原生架构·白皮书】保姆级解读 一、 云原生架构定义
  20. 2048Game/2048游戏(自制版)

热门文章

  1. 揭秘网站SEO快排中的百度发包技术的原理是什么?
  2. 算法练习第八周(B)
  3. 【echarts】柱图+折线图
  4. 【爬虫实战】评论爬取及词频统计详解
  5. 酷派大神领衔 2000元内高性能手机盘点
  6. 三分钟告诉你同声翻译器哪个好
  7. 数据治理案例|华泰证券数据安全治理
  8. php如何设置虚拟主机,如何让虚拟主机支持php
  9. MATLAB静力学分析,[转载]Comsol 有限元静力分析
  10. Benford定律+本福特定律+数据造假