首页 > 其他分享 >爬取极简壁纸

爬取极简壁纸

时间:2024-01-08 14:02:52浏览次数:23  
标签:count 极简 壁纸 src 爬取 __ async print import


js反编译的代码需要解密之类的,直接给我干蒙圈了,借助selenium可以直接获取到调式工具中的源码,可以获取渲染后的链接,然后将链接交给下载函数(使用异步提高效率)即可。

后续学习完js反编译的话,我会再写一篇教学,介绍js反编译爬取。

主要还是,获取当前页面之后,找到按钮点击下一次,如果下载过程中出现验证码的话,可以加一个判断,使用超级鹰或者是图鉴的python脚本,就可以通过验证了,但是每次验证是需要消耗题分。如果不想花钱的可以找一个训练成功的模型下载使用。

很良心的网站,希望大家合理获取,做一个守法的爬虫。

代码:

import time
from selenium import webdriver
import asyncio
import aiofiles
import aiohttp

headers = {
    'Referer': 'https://bz.zzzmh.cn/',
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
}
async def download(href,count):
    print(f"第{count}图片开始缓存")
    try:
        async with aiohttp.ClientSession() as session:
            async with session.get(href,headers=headers) as p:
                data = await p.read()
                async with aiofiles.open(f"D:\桌面\pythoncode\爬虫案例\Selenium入门\极简壁纸\{count}.jpg",'wb') as file:
                    await file.write(data)
                print(f"第{count}图片缓存成功")
    except:
        print(f"第{count}图片缓存失败")


async def main():
    print("选择下载多少页的壁纸")
    a = int(input())
    web = webdriver.Chrome()
    web.get("https://bz.zzzmh.cn/index")
    time.sleep(3)
    task = []
    count = 1
    for k in range(a):
        img_List=(web.find_elements(by="xpath",value='//div[@class="img-box"]'))
        next = web.find_element(by="xpath",value='//div[@class="vue_pagination_group"]/div[@class="vue_pagination_next vue_pagination_item"]')
        for i in img_List:
            src = i.find_element(by="xpath",value='./span[@class="down-span"]/a')
            src= src.get_attribute('href')
            print(src)
            t = asyncio.create_task(download(src,count))
            task.append(t)
            count+=1
        if k!=a-1:
            next.click()
        time.sleep(3)    
    return await asyncio.wait(task)
if __name__=="__main__":
    asyncio.run(main())

效果:

爬取极简壁纸_运维

标签:count,极简,壁纸,src,爬取,__,async,print,import
From: https://blog.51cto.com/u_16426526/9143960

相关文章

  • 【Tinyui】极简跨平台桌面端小工具开发框架
    导航GithubGitee开发指南用户手册说明在产品或项目工作中,可能会遇到需要给非开发人员或者客户提供简易的PC小工具,这些小工具通常用户交互比较简单;功能也不复杂;同时需要支持多平台以便适用更多场景。由于Python开发简单,跨平台,且自带简易的gui框架库,因此本项目基于tkinter......
  • 使用Python爬取大麦网演出商品评论的方法
    在网络时代,用户对于商品的评论和评价是非常重要的参考依据。本文将介绍如何使用Python来爬取大麦网演出商品评论,以获取用户对演出的反馈和评价。1.确定目标页面首先,我们需要确定要爬取评论的目标页面。在大麦网上,每个演出商品都有一个唯一的商品ID,通过拼接URL可以访问到该商品的评......
  • 如何让自己成为风口的那头猪:极简数学思维揭秘高增长潜力职业赛道的商业本质
    聊聊前段时间读的一本书《底层逻辑2:理解商业世界的本质》。作者刘润,以前是微软中国的战略总监,后来创业做商业咨询顾问,比较出名的有《刘润五分钟商学院》等课程。这本书以通俗易懂的语言,把一些商业底层的逻辑讲得很透。这里我只讲一个我感受最深的点:如何挑选高增长潜力的赛道,让自己......
  • 使用OkHttp库爬取知乎内容的Kotlin程序
    这是一个使用OkHttp库爬取知乎内容的Kotlin程序,并使用代理https://www.duoip.cn:8000。importokhttp3.OkHttpClientimportokhttp3.Requestimportjava.net.URLfunmain(){valproxyHost="www.duoip.cn"valproxyPort="8000"valproxyUsername=&quo......
  • 使用Selenium库的C#爬虫程序来爬取腾讯云的视频
    这是一个使用Selenium库的C#爬虫程序,用于爬取https://cloud.tencent.com/的视频。代码中使用了代理服务器,代理服务器的主机地址为www.duoip.cn,端口号为8000。以下是完整的代码解释://导入Selenium库usingOpenQA.Selenium;//创建一个ChromeDriver实例,使用代理服务器IWebDriver......
  • 大数据分析与可视化 之 爬取小说
    大数据分析与可视化之爬取小说importurllib.requestimportrandomfrombs4importBeautifulSoupimporttimedefrequest_html(url):headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/89.0.43......
  • 【Python爬虫课程设计】rottentomatoes爬取+数据可视化
    一、选题背景选择此选题的原因是为了进行电影数据的分析。电影作为一种重要的文化娱乐形式,对社会、经济和文化等方面都有着重要的影响。通过对电影数据的分析,可以揭示电影产业的发展趋势、观众喜好、电影市场的竞争情况等,为电影行业的决策制定提供依据。二、主题式网络爬虫设计......
  • 【Python数据爬取课程设计】数据爬取—京东手机品牌信息数据爬取和数据分析与可视化
    一、选题的背景随着互联网的快速发展,大数据已经成为各行各业决策的重要依据。在电商领域,京东作为国内领先的电商平台,积累了大量的用户购买数据。这些数据中蕴含着丰富的品牌信息,对于手机品牌来说,分析这些数据可以帮助他们更好地了解市场趋势、消费者需求以及竞品情况。然而,目......
  • 【Python爬虫课程设计】--股票数据爬取+数据分析
    一、选题课程背景  随着互联网技术的发展和信息爆炸的时代,人们对于获取和分析海量数据的需求日益增长。股票市场作为全球经济的重要风向标,其数据信息的获取和分析对于投资者、研究人员以及企业决策者具有重要的参考价值。然而,传统的股票数据分析方法往往受到数据来源限制和数据......
  • 【python爬虫课程设计】从懂球帝爬取中超联赛知名运动员数据+数据可视化
    一、选题背景:中超联赛作为中国顶级足球赛事,吸引了广泛的关注,其球员数据包含了丰富的信息,涵盖球员技术、表现和比赛策略等方面。随着数据科学技术的不断发展,对于足球俱乐部和教练来说,充分利用这些数据进行分析和挖掘,以制定更有效的战术和管理策略变得愈发重要。选题背景重点:1.数......