把下面代码改为html代码import requestsimport osfrom bs4 import BeautifulSoup url = httpswallhavenccsearch # 如果不存在bizhi文件夹创建壁纸文件夹if not ospathexistsbizhi osmkdirbizhi keyword = input请输入你要爬取的壁纸关键词:start_page =
<!DOCTYPE html>
<html>
<head>
<title>Wallpaper Crawler</title>
</head>
<body>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function(){
var url = 'https://wallhaven.cc/search';
<pre><code> // 如果不存在bizhi文件夹,创建壁纸文件夹
if (!window.File.exists('bizhi')) {
window.File.mkdir('bizhi');
}
var keyword = prompt('请输入你要爬取的壁纸关键词:');
var start_page = parseInt(prompt("起始页码:"));
var end_page = parseInt(parseInt(prompt("结束页码:")) + 1);
var headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
};
// 检查文件是否已下载
function check_file_downloaded(filename) {
if (!window.File.exists('log.txt')) {
return false;
}
var log_file = window.File.read('log.txt');
var downloaded_files = log_file.split('\n');
if (downloaded_files.includes(filename)) {
return true;
} else {
return false;
}
}
// 将已下载的文件名写入log.txt
function write_to_log(filename) {
var log_file = window.File.open('log.txt', 'a');
log_file.write(filename + '\n');
}
for (var i = start_page; i < end_page; i++) {
var data = {
'q': keyword,
'sorting': 'random',
'ref': 'fp',
'seed': 'pDRjMC',
'page': i,
};
// 请求搜索链接
var resp = $.get(url, data, headers);
// 解析搜索页面
var page = $.parseHTML(resp.text);
// 查找图片链接
var urls = $(page).find("a.preview");
$(urls).each(function(index, n_url) {
var href = $(n_url).attr('href');
// 请求图片链接
var resp1 = $.get(href, headers);
// 解析图片页面
var page1 = $.parseHTML(resp1.text);
var img = $(page1).find('img#wallpaper');
// 查找图片下载链接
var img_url = $(img).attr('src');
// 获取文件名
var file_name = img_url.split('/').pop();
if (check_file_downloaded(file_name)) {
console.log('文件 ' + file_name + ' 已经下载过,跳过下载');
return;
}
// 下载文件
var resp2 = $.get(img_url, headers, {stream: true});
// 获取文件大小
var file_size = parseInt(resp2.headers.get('Content-Length') || 0);
// 下载进度和速度的初始值
var download_progress = 0;
var download_speed = 0;
// 下载文件
var f = window.File.open('./bizhi/' + file_name, 'wb');
resp2.on('data', function(chunk) {
if (chunk) {
// 写入文件
f.write(chunk);
// 更新下载进度
download_progress += chunk.length;
// 更新下载速度
download_speed = chunk.length;
console.log('文件名: ' + file_name + ',下载速度: ' + download_speed + ' bytes/s,下载进度: ' + download_progress + '/' + file_size + ' bytes');
}
});
// 将文件名写入log.txt
write_to_log(file_name);
});
}
console.log('爬取完毕');
});
</script>
</code></pre>
</body>
</html>
原文地址: https://www.cveoy.top/t/topic/i2z5 著作权归作者所有。请勿转载和采集!