超清壁纸爬虫

news/2024/12/2 20:51:15/

超清壁纸爬虫

  • 概述
  • 一、超清壁纸搜索并下载


概述

本文介绍如何使用python爬虫实现超清壁纸的下载。
思路:通过requests模块对网页发起url请求,使用xpath解析提取图片链接,将二进制数据保存至电脑桌面并创建对应的文件夹!


提示:以下是实现源码,仅供参考。

一、超清壁纸搜索并下载

import ostry:from lxml import etreeimport requests
except:print("正在安装必需的数据库, 请稍等...")os.popen(cmd='pip install lxml -i https://pypi.doubanio.com/simple/').read()os.popen(cmd='pip install requests -i https://pypi.doubanio.com/simple/').read()
else:passimport requests
from lxml import etreedef meitu_search_engine(keyword='美女', page_num = 1):""" 搜索美图, 并自动下载到当前目录 """global page_text_4, response_2, page_text_3url_1 = f"https://www.bizhizu.cn/search/{keyword}/{page_num}.html"headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ""Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0"}response = requests.get(url=url_1, headers=headers, timeout=10)  # 发起URL请求response.encoding = 'utf-8'# print("网页响应状态码:", response.status_code)if response.status_code == 200:print("\t网页访问成功!")# print("url:", response.url)page_text_1 = response.text# print(page_text_1)tree_1 = etree.HTML(page_text_1)    # 实例化一个etree对象list_a = tree_1.xpath('//div[@class="imgcont"]/ul/li/a/text()')list_a_href = tree_1.xpath('//div[@class="imgcont"]/ul/li/a[2]/@href')# print(len(list_a), list_a)# print(len(list_a_href),list_a_href)list_meitu_source_code = []for link in list_a_href:# print(link)while True:try:response_2 = requests.get(url=link, headers=headers, timeout=3)except:continueelse:breakresponse_2.encoding = 'utf-8'page_text_2 = response_2.texttree_2 = etree.HTML(page_text_2)list_link_2 = tree_2.xpath('//p[@class="text_con" and @id="photoDesc"]/a[1]/@href')# print("list_link_2 = ", list_link_2)print("\t爬取图片地址链接:", list_link_2)while True:try:page_text_3 = requests.get(url=f"https://www.bizhizu.cn{list_link_2[0]}", headers=headers,timeout=3).textexcept:continueelse:break# print(page_text_3)tree_3 = etree.HTML(page_text_3)list_link_3 = tree_3.xpath('//div[@class="show-pages-imgshow"]/img/@src')# print("list_link_3 = ", list_link_3)while True:try:page_text_4 = requests.get(url=list_link_3[0], headers=headers, timeout=3).content  # 访问图片源码, 以二进制返回except:continueelse:break# print(page_text_4)list_meitu_source_code.append(page_text_4)list_name = list_a# print(len(list_name))# print(len(list_meitu_source_code))print(f"\t爬取的照片数量 = {len(list_name)}")print(f"\t爬取的照片链接数量 = {len(list_meitu_source_code)}")for name, link in zip(list_name, list_meitu_source_code):with open(f"./{keyword}/{name}.jpg", mode='wb') as obj:obj.write(link)returndef check_floder(file_name):""" 检查文件夹是否存在, 否则创建它 """try:os.listdir(file_name)except:os.mkdir(file_name)else:passreturnif __name__ == '__main__':while True:while True:try:keyword = str(input("请输入搜索关键字:")).strip()if len(keyword) > 0:passelse:8/0except:print("\t您输入的不合法!")continueelse:breakwhile True:try:page_num = int(input("你打算取多少页图片啊?(>0):"))if page_num > 0:passelse:8/0except:print("\t您输入的不合法!")continueelse:breakcheck_floder(file_name=keyword)print('\t-------------------------------')for i in range(1, page_num+1, 1):print(f"\t当前爬取的是第{i}页")try:meitu_search_engine(keyword=keyword, page_num=i)except:print("\t没有搜到当前页的数据~")else:passprint('\t-------------------------------')select = input("\n\t您打算继续搜索更多的吗?(y/n):")if select in ['n', 'N', 'NO', 'No']:breakelse:print()continue

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

相关文章

快来领取哔哩哔哩412张超清壁纸!

经过2020年元旦跨年晚会「最美的夜」一波营销, bilibili的文化也从小众走向大众,zhao前段时间在折腾Linux发行版桌面的时候,发现一张好的壁纸能极大提高操作系统的B格,壁纸内容也反应了系统主人的喜好,zhaoolee作为一位bilibili忠…

python唯美壁纸_Python爬虫教程-爬取5K分辨率超清唯美壁纸源码

# -*- coding:utf-8 -*- from requests import get from filetype import guess from os import rename from os import makedirs from os.path import exists from json import loads from contextlib import closing # 文件下载器 def Down_load(file_url, file_ful…

python唯美壁纸_Python爬虫教程爬取5K分辨率超清唯美壁纸源码

1 #-*- coding:utf-8 -*- 2 3 from requests importget4 from filetype importguess5 from os importrename6 from os importmakedirs7 from os.path importexists8 from json importloads9 from contextlib importclosing10 11 12 #文件下载器 13 defDown_load(file_url, file…

php超清壁纸,美得让人不能呼吸、4K超清壁纸3840×2160p超多图[小水管勿进]

203940q90h3jz0ki3z9b6j.jpg (2.09 MB, 下载次数: 3) 2017-1-16 20:39 上传 " {8 @6 b) _9 n5 f1 p: @+ k9 r1 v3 V# D; a : _7 [& b. g2 P) l- Z" E 1 M4 X U7 V. ~; W( i% S; B1 L1 q) F$ M9 s* b- s1 O( Q 203941va4ba3abhhhwhajg.jpg (2.49 MB, 下载次数: 0…

python下载图片 referer_Python必应超清壁纸爬虫下载|Python爬取必应每日图片源码 - PS下...

不知道大家是否对每日一成不变的壁纸感到厌倦呢?反正对于我个人来说,如果每天打开电脑映入眼帘的都是不同的画面,那么科研热情都会被充分激发,从而提高自己的劳动生产力。下面笔者给大家分享一下Python必应超清壁纸爬虫,让大家每…

超清壁纸头像软件

超清壁纸头像软件 应用隐私政策 尊敬的用户: 超清壁纸头像软件 应用是由 北京微言科技有限公司 (以下简称 “ 微言科技 ” )为您提供的一款 手机桌面壁纸美化软件 。 “微言科技” 十分尊重您的个人信息和数据,并会尽全力保护您…

基于摄影测量的三维重建【终极指南】

我们生活的时代非常令人兴奋,如果你对 3D 东西感兴趣,更是如此。 我们有能力使用任何相机,从感兴趣的物体中捕捉一些图像数据,并在眨眼间将它们变成 3D 资产! 这种通过简单的数据采集阶段进行的 3D 重建过程是许多行业…

基于SpringBoot+vue的租房网站设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…