欢迎光临UUpython
最大、最新、最全的Python代码收集站

三国杀移动版24节气电脑壁纸下载 

这段代码是一个用来从网站上爬取图片资源的Python脚本,网站是与”三国杀节气皮肤”有关的。

代码首先导入了需要的模块:urllib.request用于发起网络请求,lxml.etree用于处理HTML内容。然后,代码定义了一系列函数来处理请求、响应以及数据提取和存储。

在主函数部分,代码从用户那里获取起始页码和结束页码,然后循环遍历这些页码。对于每个页面,它会创建一个请求对象,发送请求获取页面内容,然后使用XPath表达式从页面内容中提取图片的URL和名称。最后,通过urllib.request.urlretrieve函数将图片下载到指定的本地目录中。

需要注意以下几点:

  1. 该脚本没有错误处理机制。如果请求失败或者页面结构发生变化,代码可能会崩溃。
  2. 网站的爬取行为可能受到网站的使用条款限制,如果未经允许大量爬取,可能会被认为是不良行为。
  3. 代码中下载的文件名可能会导致重名,需要根据实际情况进行调整,确保文件名的唯一性。

请注意遵循合法、合规的网络爬取实践,并尊重网站的使用条款。如果您计划使用这个脚本来爬取网站,请务必获得网站所有者的允许。

下面是修改后的代码

import urllib.request
from lxml import etree
import datetime

def create_request(page):
    if page == 1:
        url = "https://www.sanguosha.cn/pc/wallpaper.html?type=1"
    else:
        url = "https://www.sanguosha.cn/pc/wallpaper.html?type=1&page=" + str(page)
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) "
                      "Chrome/115.0.0.0 Safari/537.36"}
    request = urllib.request.Request(url=url, headers=headers)
    return request

def response_url(request):
    response = urllib.request.urlopen(request)
    content = response.read().decode("utf-8")
    return content

def data_lod(content, current_time):
    global num
    tree = etree.HTML(content)
    https_list = tree.xpath("//ul[2]//@data-cross")
    name_list = tree.xpath("//ul[2]//@alt")
    for i in range(len(name_list)):
        base_url = https_list[i]
        name = name_list[i]
        num += 1
        data_url = "https://www.sanguosha.cn" + base_url
        file_name = f"D:/三国杀节气皮肤/{name}_{current_time}_{num}.jpg"
        urllib.request.urlretrieve(url=data_url, filename=file_name)

if __name__ == '__main__':
    num = 0
    begin_page = int(input("请输入起始页码:"))
    end_page = int(input("请输入结束页码:"))
    
    current_time = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    
    for page in range(begin_page, end_page + 1):
        request = create_request(page)
        content = response_url(request)
        data_lod(content, current_time)
赞(0) 打赏
未经允许不得转载:UUpython » 三国杀移动版24节气电脑壁纸下载 
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!