在看到元气桌面这么高质量的图源后,萌生了一种不可描述的想法。
重要提醒
本代码仅用于开发测试和学习目的。请严格遵守法律法规和道德规范,不得将其用于任何违规或非法活动。
需求
需要安装 requests
库和 lxml
模块。
pip install lxml
代码
import os
import requests
from lxml import etree
import urllib.parse
import re
import time
url = ' 目标地址'
headesp = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35'}
with open(' 保存的.txt 文件', 'a', encoding='utf-8') as f:
for i in range(45):
# 使用正则表达式提取页码部分
match = re.search(r'p(\d+)', url)
if match:
num_str = match.group(1)
print(f" 提取到的页码:{num_str}")
num = int(num_str) + 1
new_url = url.replace(f'p{num_str}', f'p{num}')
else:
print(" 无法提取页码,退出循环。")
break
response = requests.get(new_url, headers=headesp)
print(f" 请求新 URL 的状态码:{response.status_code}")
time.sleep(2) # 添加 2 秒延迟
html = response.content
selector = etree.HTML(html)
links = selector.xpath('/html/body/div/div/div/div[1]/main/div/div[1]/section/ul/li/div/a/@href')
for link in links:
response = requests.get(link)
html = response.content
selector = etree.HTML(html)
img_links = selector.xpath('/html/body/div/div/div/div[1]/main/div/div[1]/div/div[2]/div[1]/img[1]/@src')[0]
split_data = urllib.parse.urlsplit(img_links)
new_links = urllib.parse.urlunsplit((split_data[0], split_data[1], split_data[2], None, None))
# 保存链接到文件
f.write(f'{new_links}\n')
url = new_url
print(" 再次提醒:本代码的使用应严格遵守法律法规,不得用于违规行为。")