python 爬取壁纸网站并保存图片到本地

news/2024/11/18 16:31:06/

首先上关键功能

1、获取网页源代码

#获取Html
def GetHtmlCode(url,try_num=0):headers = {"user-agent": "Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1"}#"Content-Type": "application/x-www-form-urlencoded"}try:req = requests.get(url, headers=headers)except Exception as e:print("error2: 网络连接超时",e)return Noneif req.status_code != 200:if try_num < 10: #如果网络错误,重试3次time.sleep(2)return GetHtmlCode(url, try_num + 1)print(req.status_code, "error1: 打开网页失败,请检查您的网络!")return Nonecontent_html = req.textreturn content_html#使用示例
content_html = GetHtmlCode(url)

2、下载图片到本地

#保存网络图片到本地
def Save_img(img_url,name="test.jpg"):pic = requests.get(img_url, timeout=7)# 将获取的内容保存为后缀为jpg的图片fp = open(name, "wb")fp.write(pic.content)fp.close()#使用示例
Save_img(pic,file_name)

3、解析网页获取图片链接等

soup = BeautifulSoup(content_html, "html.parser")pages = soup.find("div",class_="pages") #找单个元素pages = pages.find_all("a") #找全部元素

4、全部代码

import requests
from bs4 import BeautifulSoup
import time#获取Html
def GetHtmlCode(url,try_num=0):headers = {"user-agent": "Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1"}#"Content-Type": "application/x-www-form-urlencoded"}try:req = requests.get(url, headers=headers)except Exception as e:print("error2: 网络连接超时",e)return Noneif req.status_code != 200:if try_num < 10: #如果网络错误,重试3次time.sleep(2)return GetHtmlCode(url, try_num + 1)print(req.status_code, "error1: 打开网页失败,请检查您的网络!")return Nonecontent_html = req.textreturn content_html#保存网络图片到本地
def Save_img(img_url,name="test.jpg"):pic = requests.get(img_url, timeout=7)# 将获取的内容保存为后缀为jpg的图片fp = open(name, "wb")fp.write(pic.content)fp.close()if __name__ == '__main__':#为防止代码被滥用,对原网站造成伤害,这里隐去了网址,此代码仅供学习使用url = "https://www.*******.com/donman/index.html" #4K动漫domain = "https://www.*******.com"#获取网页源代码content_html = GetHtmlCode(url)soup = BeautifulSoup(content_html, "html.parser")#查看当前页数pages = soup.find("div",class_="pages")pages = pages.find_all("a")[10].textpages = int(pages)print(pages)start_num = 1 #开始num#循环每一页for page in range(1,pages+1):print("当前页数:",page)if page == 1:cur_html = content_htmlsoup = soupelse:cur_url = url.replace(".html","")cur_url = cur_url+"_"+str(page)+".html"print("当前页面:",cur_url)cur_html = GetHtmlCode(cur_url)soup = BeautifulSoup(cur_html, "html.parser")#获取当前页的图片地址pics = soup.find("ul",class_="item")pics = pics.find_all("li")for pic in pics:pic = pic.find("img")["src"]pic = domain + pic#获取 1920*1080 图片pic = pic.replace("small","")pic = pic[:-14] + ".jpg"print(pic)# 下载图片链接到本地file_name = "./动漫/"+str(start_num)+".jpg"start_num += 1Save_img(pic,file_name)time.sleep(2)time.sleep(5)


http://www.ppmy.cn/news/262016.html

相关文章

随机动漫图片API接口

之前一直用别人的&#xff0c;但最近出了点问题&#xff0c;没有修复&#xff0c;也没有找到喜欢的&#xff0c;就自己搭建了一个接口。图片都是经过筛选后上传的&#xff0c;由于未压缩&#xff0c;所以图片比较大&#xff0c;加载需要一定时间&#xff0c;长久加载不出来刷新…

随机图片API

风景随机图&#xff1a;http://pic.tsmp4.net/api/fengjing/img.php 女神随机图&#xff1a;http://pic.tsmp4.net/api/nvsheng/img.php 影视随机图&#xff1a;http://pic.tsmp4.net/api/yingshi/img.php 二次元随机图&#xff1a;http://pic.tsmp4.net/api/erciyuan/img.php …

手把手教你用Python网络爬虫获取壁纸图片!

今 日 鸡 汤 桃之夭夭&#xff0c;灼灼其华。 /1 前言/ 想要电脑换个壁纸时都特别苦恼&#xff0c;因为百度搜到那些壁纸也就是分辨率达到了壁纸的水准。可是里面图片的质量嘛&#xff0c;实在是不忍直视…。而有些4K高清的壁纸大多是有版权的 ,这就使我们想要获取高清的图…

A. The Good Array - 思维

分析&#xff1a; 首先数组第一个元素和最后一个元素一定为1&#xff0c;然后可以发现in-1时&#xff0c;可以得到数组中除了最后一位1的个数&#xff0c;也就可以得出答案&#xff0c;数组中一共的1的个数时n-1时的1的个数再加上1. 代码&#xff1a; #include <bits/stdc…

499张WEBP格式动漫图片

499张WEBP格式动漫图片 Lan 2020-05-10 19:13 185 人阅读 0 条评论 用处多多&#xff0c;即可当网站背景&#xff0c;还可以配合WE当桌面壁纸 本资源转载于网络&#xff0c;如有问题请联系E-mail:Vasttom.com 499webpimg.zip 密码&#xff1a;解压密码&#xff1a;www.lanol.…

动漫的python语言代码大全_下载动漫壁纸-Python代码

本帖最后由 我心她有丶 于 2020-4-16 19:28 编辑 前段时间在论坛找到一个下载动漫壁纸的软件&#xff0c;还挺好用的&#xff0c;这几天突然用一下&#xff0c;下载不出图片&#xff0c;下载的一片白&#xff0c;然后分析了下他的软件&#xff0c;得到了一个地址&#xff1a; h…

【数据库】数据库必背知识

数据库必背知识 数据库设计过程 需求分析概念结构设计逻辑结构设计物理结构设计数据库实施需求分析 收集用户需求和业务规则成果&#xff1a;数据流程图和数据字典&#xff08;数据项、数据结构、数据流、数据存储、处理过程&#xff09;概念结构设计 自顶向下地进行需求分析。…