Python进阶--爬取美女图片壁纸(基于回车桌面网的爬虫程序)

news2024/11/14 19:23:54

目录

一、前言

二、爬取下载美女图片

1、抓包分析

a、分析页面

b、明确需求

c、抓包搜寻

d、总结特点

2、编写爬虫代码

a、获取图片页网页源代码

b、提取所有图片的链接和标题

c、下载并保存这组图片

d、 爬取目录页的各种类型美女图片的链接

e、实现翻页

三、各种需求的爬虫代码

1、下载所有美女图片 

2、下载想要页码范围内的美女图片

3、下载想要类型的美女图片

a、下载想要类型的所有美女图片

b、下载想要类型的想要页码范围的美女图片


一、前言

        回车桌面网(https://www.enterdesk.com/)是一个具备各种精美图片的网站,里面包含各种丰富的图片资源。此处,将详细讲解爬取其中美女图片资源将其下载到本地。看懂本篇内容后,自己也可以爬取其中想要的类型图片。

回车桌面的首页:

        此处仅爬取所框选中的美女图片,看懂本篇后,自己也能做到爬取其他类型的图片!!!

二、爬取下载美女图片

1、抓包分析

        爬虫的第一步都是抓包分析(也就是分析网页,从网页源代码中找到自己想要的内容)。

a、分析页面

(1)在回车桌面中点击美女跳转到美女图片的网页

(2)在美女图片页面中,可以看到有各种类型的美女图片和下一页按钮。

(3)点击一种类型的美女图片会跳转到该种类型的美女图片的具体图片界面

(4)点击下一页会跳转到另一页的美女图片页面,里面包含其他的类型的美女图片

(5)在美女图片页面中还有分类标签,点击一种风格类型,则会跳转到该种类型风格的美女图片

美女网页:

各种类型的美女图片: 

 美女页面的下一页所在位置:

一种类型美女图片的页面:

b、明确需求

        根据上面的页面分析,可以明确以下需求:

  • 要获取到下一页的url所在页面源代码的位置
  • 要获取到每种类型美女图片的url
  • 要找到一种类型美女的各种图片下载的url
  • 对美女网页进行requests请求,需要有请求头,找到请求网页的url、user-agent、cookie等信息
  • 找到各种分类标签的url

c、抓包搜寻

        根据以上需求,分析网页源代码,找到想要的内容。

步骤:

  1. 在美女页面,按下F12,打开开发者界面
  2. 点击开发者界面左上角的鼠标箭头
  3. 将箭头移到在美女页面的一种类型的美女图片上并点击一下
  4. 在开发者界面将会出现此部分的网页源代码

        通过以上步骤,抓包寻找,可以分别找到需求部分所要内容: 

  • 要获取到下一页的url所在页面源代码的位置
  • 要获取到每种类型美女图片的url
  • 要找到一种类型美女的各种图片下载的url
  • 对美女网页进行requests请求,需要有请求头,找到请求网页的url、user-agent、cookie等信息
  • 找到各种分类标签的url

d、总结特点

          经过抓包搜寻,可以发现:

  • 美女页面每一页的url的构造为:以数字进行标记页码
'https://m.mm.enterdesk.com/1.html'
'https://m.mm.enterdesk.com/2.html'
'https://m.mm.enterdesk.com/3.html'
'https://m.mm.enterdesk.com/4.html'
'https://m.mm.enterdesk.com/5.html'
            ....
'https://m.mm.enterdesk.com/262.html'
'https://m.mm.enterdesk.com/264.html'
  • 美女页面的标签的url的构造为:以风格类型的中文拼音+meinv
'https://mm.enterdesk.com/dalumeinv/'
'https://mm.enterdesk.com/rihanmeinv/'
'https://mm.enterdesk.com/gangtaimeinv/'
'https://mm.enterdesk.com/dongmanmeinv/'
'https://mm.enterdesk.com/qingchunmeinv/'
'https://mm.enterdesk.com/oumeimeinv/'
  • 其他的url需要通过xPath来定位,根据所在位置的特点来定位
美女页面的各种类型的美女图片链接xPath定位://div[@class="mbig_pic_list_li"]//dd//a/@href
一种类型美女图片的标题xPath定位://h1[@class="m_h1"]/a/text()
一种类型美女图片的图片的urlxPath定位://div[@class="swiper-wrapper"]//img/@src

2、编写爬虫代码

        根据上面的抓包分析,可以编写爬虫代码。

具体代码思路为:

1. 获取图片页网页源代码
2. 提取所有图片的链接和标题
3. 下载并保存这组图片
4.
 爬取目录页的各种类型美女图片的链接
5. 实现翻页下载

a、获取图片页网页源代码

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36',
          'cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)

b、提取所有图片的链接和标题

def get_curindex_titlecontent(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    titles = html.xpath('//h1[@class="m_h1"]/a/text()')
    pictures = html.xpath('//div[@class="marc_pandn"]//div[@class="swiper-slide"]//img/@src')
    return titles, pictures

c、下载并保存这组图片

def updownload(index_url):
    titles,pictures = get_curindex_titlecontent(index_url)
    titles = titles[0]
    # 创建目录
    if not os.path.exists(f'图片/{titles}/'):
        os.makedirs(f'图片/{titles}')
    num = 1
    for link in pictures:
        r = requests.get(link, headers=header).content
        with open(f'图片/{titles}/{titles}{num}.jpg', 'wb') as f:
            f.write(r)
            print(f"已下载...{titles}...编号为{num}的图片")
        num+=1

d、 爬取目录页的各种类型美女图片的链接

def get_curindex_links(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')
    return links

e、实现翻页

def get_nextindex_links(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    links = html.xpath('//div[@class="listpages"]//a[@class="next_p"]/@href')
    return links

三、各种需求的爬虫代码

1、下载所有美女图片 

        由于美女图片数量较大,不建议使用这种情况。

思路:想要下载所有图片。在第一页的美女页面,下载完这一页图片后,通过获取下一页的链接,来刷新到第二页的美女页面,继续下载第二页的美女图片。然后继续获取下一页来刷新,直到下载到最后一页。最后一页是没有下一页的链接的,所以到了最后一页,获取下一页的代码会报错。但是没有关系,这里已经下载完了所有美女图片。

代码如下:

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36',
          'cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)
# 2、获取当前回车桌面美女页面的各种美女类型图片的链接
def get_curindex_links(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')
    return links
# 3、获取下一页的美女页面链接
def get_nextindex_links(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    links = html.xpath('//div[@class="listpages"]//a[@class="next_p"]/@href')
    return links
# 4、获取一种美女类型的图片及类型名
def get_curindex_titlecontent(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    titles = html.xpath('//h1[@class="m_h1"]/a/text()')
    pictures = html.xpath('//div[@class="swiper-wrapper"]//img/@src')
    return titles, pictures
# 5、将图片进行下载保存到新的目录中
def updownload(index_url):
    titles,pictures = get_curindex_titlecontent(index_url)
    titles = titles[0]
    # 创建目录
    if not os.path.exists(f'图片/{titles}/'):
        os.makedirs(f'图片/{titles}')
    num = 1
    for link in pictures:
        r = requests.get(link, headers=header).content
        with open(f'图片/{titles}/{titles}{num}.jpg', 'wb') as f:
            f.write(r)
            print(f"已下载...{titles}...编号为{num}的图片")
        num+=1
# 6、根据顺序来调整调用顺序
# a、获取各种类型美女图片的链接
num = 1
a = 1
while 1:
    links = get_curindex_links(index_url)
    print(f"正在下载第{num}页")
    print(f"下载链接为:{index_url}")
    for link in links:
# b、获取其中一个链接的内容和标题并下载保存
        print(f"正在下载第{a}种类型的美女图片")
        updownload(link)
        a+=1
    num+=1
    next_page = get_nextindex_links(index_url)
    # 将列表转换成字符串
    index_url ="".join(next_page)

部分运行结果截图 :

2、下载想要页码范围内的美女图片

        根据前面的总结特点,美女目录页面是根据1,2,3,4...来标记当前是第几页的。据此,可以通过读取键盘消息来下载自己想要范围内的美女图片。

代码如下:

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36',
          'cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)
# 2、获取当前回车桌面美女页面的各种美女类型图片的链接
def get_curindex_links(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')
    return links
# 3、获取一种美女类型的图片及类型名
def get_curindex_titlecontent(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    titles = html.xpath('//h1[@class="m_h1"]/a/text()')
    pictures = html.xpath('//div[@class="swiper-wrapper"]//img/@src')
    return titles, pictures
# 4、将图片进行下载保存到新的目录中
def updownload(index_url):
    titles,pictures = get_curindex_titlecontent(index_url)
    titles = titles[0]
    # 创建目录
    if not os.path.exists(f'图片/{titles}/'):
        os.makedirs(f'图片/{titles}')
    num = 1
    for link in pictures:
        r = requests.get(link, headers=header).content
        with open(f'图片/{titles}/{titles}{num}.jpg', 'wb') as f:
            f.write(r)
            print(f"已下载...{titles}...编号为{num}的图片")
        num+=1
# 5、根据顺序来调整调用顺序
# a、获取各种类型美女图片的链接
a = 1
# 输入自己想要的页码范围内的美女图片
x = input("请输入起始页的页码:")
y = input("请输入结束页的页码:")
# 因为range函数是左闭右开的情况,所以y需要自增1
for page in range(int(x), int(y)+1):
    new_index = index_url + str(page) + '.html'
    links = get_curindex_links(new_index)
    print(f"正在下载第{page}页")
    print(f"下载链接为:{new_index}")
    for link in links:
    # b、获取其中一个链接的内容和标题并下载保存
        print(f"正在下载第{a}种类型的美女图片")
        updownload(link)
        a+=1

部分运行结果截图:

3、下载想要类型的美女图片

        根据前面总结特点,可知各种标签的美女类型的url是通过输入中文拼音+meinv来进行标记的。则,可以通过读取键盘输入美女类型来下载想要类型的美女图片。这种情况下,存在两种需求。一是下载想要类型的所有的美女图片,二是下载想要类型的想要页码范围的美女图片。

a、下载想要类型的所有美女图片

代码如下:

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36',
          'cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)
# 2、获取当前回车桌面美女页面的各种美女类型图片的链接
def get_curindex_links(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')
    return links
# 3、获取下一页的美女页面链接
def get_nextindex_links(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    links = html.xpath('//div[@class="listpages"]//a[@class="next_p"]/@href')
    return links
# 4、获取一种美女类型的图片及类型名
def get_curindex_titlecontent(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    titles = html.xpath('//h1[@class="m_h1"]/a/text()')
    pictures = html.xpath('//div[@class="marc_pandn"]//div[@class="swiper-slide"]//img/@src')
    return titles, pictures
# 5、将图片进行下载保存到新的目录中
def updownload(index_url):
    titles,pictures = get_curindex_titlecontent(index_url)
    titles = titles[0]
    # 创建目录
    if not os.path.exists(f'图片/{keyword}/{titles}/'):
        os.makedirs(f'图片/{keyword}/{titles}')
    num = 1
    for link in pictures:
        r = requests.get(link, headers=header).content
        with open(f'图片/{keyword}/{titles}/{titles}{num}.jpg', 'wb') as f:
            f.write(r)
            print(f"已下载...{titles}...编号为{num}的图片")
        num+=1
# 6、根据键盘的输入来下载想要类型的美女图片
# a、读取键盘消息
keyword = input("请输入想要下载的类型的美女图片(中文拼音):")
index_url = index_url + keyword
num = 1
a = 1
while 1:
    links = get_curindex_links(index_url)
    print(f"正在下载第{num}页")
    print(f"下载链接为:{index_url}")
    for link in links:
# b、获取其中一个链接的内容和标题并下载保存
        print(f"正在下载第{a}种类型的美女图片")
        updownload(link)
        a+=1
    num+=1
    next_page = get_nextindex_links(index_url)
    # 将列表转换成字符串
    index_url ="".join(next_page)

部分截图如下: 

b、下载想要类型的想要页码范围的美女图片

代码如下:

import os.path
from lxml import etree
import requests
# 1、获取回车桌面美女图片的网页源代码
header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Mobile Safari/537.36',
          'cookie':'Hm_lvt_86200d30c9967d7eda64933a74748bac=1707274876; t=8207bbae9940b5f445e4f3aa1907d202; r=9737; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1707276063'}
index_url = 'https://m.mm.enterdesk.com/'
r = requests.get(index_url, headers=header)
# 2、获取当前回车桌面美女页面的各种美女类型图片的链接
def get_curindex_links(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    links = html.xpath('//div[@class="mbig_pic_list_li"]//dd//a/@href')
    return links
# 3、获取一种美女类型的图片及类型名
def get_curindex_titlecontent(index_url):
    r = requests.get(index_url, headers=header)
    html = etree.HTML(r.text)
    titles = html.xpath('//h1[@class="m_h1"]/a/text()')
    pictures = html.xpath('//div[@class="swiper-wrapper"]//img/@src')
    return titles, pictures
# 4、将图片进行下载保存到新的目录中
def updownload(index_url):
    titles,pictures = get_curindex_titlecontent(index_url)
    titles = titles[0]
    print(titles)
    # 创建目录
    if not os.path.exists(f'图片/{keyword}/{titles}/'):
        os.makedirs(f'图片/{keyword}/{titles}')
    num = 1
    for link in pictures:
        r = requests.get(link, headers=header).content
        with open(f'图片/{keyword}/{titles}/{titles}{num}.jpg', 'wb') as f:
            f.write(r)
            print(f"已下载...{titles}...编号为{num}的图片")
        num+=1
# 5、根据键盘的输入来下载想要类型的美女图片
# a、读取键盘消息
keyword = input("请输入想要下载的类型的美女图片(中文拼音):")
index_url = index_url + keyword +'/'
# 输入自己想要的页码范围内的美女图片
x = input("请输入起始页的页码:")
y = input("请输入结束页的页码:")
# 因为range函数是左闭右开的情况,所以y需要自增1
for page in range(int(x), int(y)+1):
    new_index = index_url + str(page) + '.html'
    links = get_curindex_links(new_index)
    print(f"正在下载第{page}页")
    print(f"下载链接为:{new_index}")
    for a, link in enumerate(links):
    # b、获取其中一个链接的内容和标题并下载保存
        print(f"正在下载第{page}页的第{a}种类型的美女图片")
        updownload(link)

部分截图如下:     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1440740.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP和UDP相关问题(重点)——8.TCP的拥塞控制怎么实现的?

在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就会变坏,比如在高速公路上行驶的车辆,如果一时期内涌入了太多的车辆,道路将变得拥堵,交通状况变差。网络中也是一样&#…

Android 识别车牌信息

打开我们心爱的Android Studio 导入需要的资源 gradle //开源车牌识别安卓SDK库implementation("com.github.HyperInspire:hyperlpr3-android-sdk:1.0.3")button.setOnClickListener(v -> {Log.d("Test", "");try (InputStream file getAs…

Java并发基础:Deque接口和Queue接口的区别?

核心概念 Deque(double ended queue,双端队列)和Queue(队列)都是Java集合框架中的接口,它们用于处理元素的排队和出队,但是它们之间存在一些重要的区别,如下: 1、Queue…

RSA算法加密、签名和验签、解密

一、背景介绍 RSA是一种非对称加密算法,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存私钥,公钥是公开的(可能同时多人持有)。 二、RSA算法工具类 package com.hl.rsademo.util;import java.i…

MYSQL分区NOW()不支持

传说同事写个复杂的SQL代码,跑一次需要7-10秒, 复杂如上,我也懒得去分析 IF IF IF是怎么回事了! 发现此表是分区表,后面要求加上了分区时间,以便利用到分区裁剪技术. 因为需求是查近10天来到期还款的人和金额.就是今天应该还款的人, 一般还款周期是7天. 给个10天的范围挺可以的…

【DDD】学习笔记-领域实现模型

实现模型与编码质量 领域设计模型体现了类的静态结构与动态协作,领域实现模型则进一步把领域知识与技术实现连接起来,但同时它必须守住二者之间的边界,保证业务与技术彼此隔离。这条边界线应由设计模型明确给出,其中的关键是遵循…

基于SSM的网络在线考试系统(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的网络在线考试系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring …

数字图像处理实验记录十(图像分割实验)

一、基础知识 1、什么是图像分割 图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程,特性可以是灰度、颜色、纹理等,目标可以对应单个区域,也可以对应多个区域。 2、图像分割是怎么实现的 图像分割算法基于像素值的不连…

Java微服务学习Day1

文章目录 认识微服务服务拆分及远程调用服务拆分服务远程调用提供者与消费者 Eureka注册中心介绍构建EurekaServer注册user-serviceorder-service完成服务拉取 Ribbon负载均衡介绍原理策略饥饿加载 Nacos注册中心介绍配置分级存储负载均衡环境隔离nacos注册中心原理 认识微服务…

《剑指 Offer》专项突破版 - 面试题 30 和 31:详解如何设计哈希表以及利用哈希表设计更加高级、复杂的数据结构

目录 一、哈希表的基础知识 二、哈希表的设计 2.1 - 插入、删除和随机访问都是 O(1) 的容器 2.2 - 最近最少使用缓存 一、哈希表的基础知识 哈希表是一种常见的数据结构,在解决算法面试题的时候经常需要用到哈希表。哈希表最大的优点是高效,在哈希表…

java实现算法

一、二分法 二分法查找主要是为了快速查找给定数组内,期待值在数组中的位置(下标) 二分法查找通过对整个数组取中间值,判断期待值所在的范围并缩小范围,每次查找范围折半,直到范围的边界重合,…

终端命令提示符:如何查看我们电脑端口是否被占用和处理方式

文章目录 端口信息查看1、Windows:2、Linux/macOS: 使用 netstat使用 lsof 端口信息查看 在不同的操作系统中,查看端口是否被占用的指令有所不同。以下是一些常见的指令: 1、Windows: 使用命令行工具 netstat 来查看端口占用情况。 电脑键盘按住 win…

第九个知识点:内部对象

Date对象: <script>var date new Date();date.getFullYear();//年date.getMonth();//月date.getDate();//日date.getDay();//星期几date.getHours();//时date.getMinutes();//分date.getSeconds();//秒date.getTime();//获取时间戳&#xff0c;时间戳时全球统一&#x…

[计算机提升] 备份系统:系统映像

6.3 备份系统&#xff1a;系统映像 备份系统和还原系统是一套互补的操作。 操作系统的备份就是将操作系统当前的所有数据复制到硬盘的一个空闲区域&#xff0c;以防止系统崩溃或数据丢失。还原操作则是将先前备份的数据恢复到操作系统中&#xff0c;使系统回到之前的样子&…

Python进程之串行与并行

串行和并行 串行指的是任务的执行方式。串行在执行多个任务时&#xff0c;各个任务按顺序执行&#xff0c;完成一个之后才能进行下一个。&#xff08;早期单核CPU的情况下&#xff09; 并行指的是多个任务在同一时刻可以同时执行&#xff08;前提是多核CPU&#xff09;&#…

蓝桥杯备赛Day9——链表进阶

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5]示例 2: 输入:head = [1], n = 1 输出:[]示例 3: 输入:head = [1,2], n = 1 输出:[1]提示: 链表中结点的数目为 sz1 <= sz <= 300 &l…

2024-02-07(Sqoop,Flume)

1.Sqoop的增量导入 实际工作中&#xff0c;数据的导入很多时候只需要导入增量的数据&#xff0c;并不需要将表中的数据每次都全部导入到hive或者hdfs中&#xff0c;因为这样会造成数据重复问题。 增量导入就是仅导入新添加到表中的行的技术。 sqoop支持两种模式的增量导入&a…

sqli.labs靶场(41-53关)

41、第四十一关 -1 union select 1,2,3-- -1 union select 1,database(),(select group_concat(table_name) from information_schema.tables where table_schemadatabase()) -- -1 union select 1,2,(select group_concat(column_name) from information_schema.columns wher…

2024年【天津市安全员B证】模拟试题及天津市安全员B证模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 天津市安全员B证模拟试题是安全生产模拟考试一点通生成的&#xff0c;天津市安全员B证证模拟考试题库是根据天津市安全员B证最新版教材汇编出天津市安全员B证仿真模拟考试。2024年【天津市安全员B证】模拟试题及天津市…

零基础学Python之Unitest模块

1.unittest简介及入门案例 &#xff08;1&#xff09;什么是Unitest Unittest是Python自带的单元测试框架&#xff0c;不仅适用于单元测试&#xff0c;还可用于Web、Appium、接口自动化测试用例的开发与执行。该测试框架可组织执行测试用例&#xff0c;并且提供丰富的断言方法…