wap网站做视频直播,wordpress中文主题购买,仁茂网络seo,中小企业网站制作塞尼铁克js反编译的代码需要解密之类的#xff0c;直接给我干蒙圈了#xff0c;借助selenium可以直接获取到调式工具中的源码#xff0c;可以获取渲染后的链接#xff0c;然后将链接交给下载函数#xff08;使用异步提高效率#xff09;即可。
后续学习完js反编译的话#xff0…js反编译的代码需要解密之类的直接给我干蒙圈了借助selenium可以直接获取到调式工具中的源码可以获取渲染后的链接然后将链接交给下载函数使用异步提高效率即可。
后续学习完js反编译的话我会再写一篇教学介绍js反编译爬取。
主要还是获取当前页面之后找到按钮点击下一次如果下载过程中出现验证码的话可以加一个判断使用超级鹰或者是图鉴的python脚本就可以通过验证了但是每次验证是需要消耗题分。如果不想花钱的可以找一个训练成功的模型下载使用。
很良心的网站希望大家合理获取做一个守法的爬虫。
代码
import time
from selenium import webdriver
import asyncio
import aiofiles
import aiohttpheaders {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,headersheaders) as p:data await p.read()async with aiofiles.open(fD:\桌面\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 1for k in range(a):img_List(web.find_elements(byxpath,value//div[classimg-box]))next web.find_element(byxpath,value//div[classvue_pagination_group]/div[classvue_pagination_next vue_pagination_item])for i in img_List:src i.find_element(byxpath,value./span[classdown-span]/a)src src.get_attribute(href)print(src)t asyncio.create_task(download(src,count))task.append(t)count1if k!a-1:next.click()time.sleep(3) return await asyncio.wait(task)
if __name____main__:asyncio.run(main())
效果