-
啊 ?
-
秦始皇 留图不留种,菊花万人捅
-
秦始皇 留图不留种,菊花万人捅
-
嘤嘤嘤 好看的呢
萌主机-一个简单稳定的宝塔博客向虚拟主机服务商
提供稳定的博客虚拟主机 秒赞型虚拟主机
环境:PHP/MYSQL
空间容量:500MB
数据库容量:200MB
绑定域名:无限
不限流量
防护常规CC攻击
DDOS防御:0G
备案:无需备案
禁止:违法网站
官方地址:moe.al
Cname地域解析来选择国内优选IP。
CloudFlare优选IP是指的是通过一些特定的测试和筛选,挑选出来的优质的CloudFlare节点IP。这些IP在速度和稳定性上都要优于普通的CloudFlare IP。用户使用CloudFlare优选IP进行网络访问,可以获得更好的网速体验。
CloudFlare是一家提供内容分发网络和DDoS防护服务的美国公司。他们的服务可以帮助网站防止各种攻击,包括DDoS攻击,同时提供优化网站速度和性能的服务。CloudFlare的网络遍布全球,用户的请求会被自动路由到最近的数据中心,从而获得最快的服务速度。
CloudFlare优选IP通常是通过专门的工具或者服务获取的,比如一些提供CloudFlare IP优选服务的网站或者软件。它们会定期进行测试,然后提供最新的优选IP给用户。
本站只挑选国内优质CloudFlare IP并解析 您只需要地域解析(解析国内 国外正常用CloudFlare)Cname即可使用优选IP
如果你不会使用请看我
优选CF官网:传送门
宝塔面板安装脚本,2分钟装好面板,一键管理服务器
目前支持宝塔面板Linux 8.1.0 7.9.10 7.7 Windows 7.9.0 堡塔云监控2.2.9
必须为没装过其它环境如Apache/Nginx/php/MySQL的新系统,推荐使用centos 7.X的系统安装宝塔面板 如果使用过官方版或其他云端的版本,使用一键更新脚本即可切换
再开源个PHP扒图片代码 这个可以扒取没返回图片链接的图
设置计划任务可以一键扒API图片 图片自动下载到目录 图片链接写入数据库
如果图片存在自动跳过 不存在才存入
API链接返回的信息为图片并没有图片链接
$maxTries为每次运行扒取多少次
宝塔定时任务配置
Shell脚本 每天或者自定义运行一次
内容为:
php /目录/PHP文件名
例:
php /heisi/heisi.php
<?php
$apiUrl = '';
$saveDir = '/heisi/img/';
// 数据库连接信息
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
$image_table = "heisi_data"; // 数据表名称
$maxTries = 5000;
// 确保保存目录存在
if (!is_dir($saveDir)) {
mkdir($saveDir, 0755, true);
}
for ($i = 0; $i < $maxTries; $i++) {
// 发送 API 请求
$response = file_get_contents($apiUrl);
// 检查响应
if ($response === false) {
echo "Error fetching the image from API.\n";
continue;
}
// 计算图片的 MD5 哈希
$imageHash = md5($response);
// 检查图片是否已经存在
$imagePath = $saveDir . $imageHash . '.png';
if (file_exists($imagePath)) {
echo "Image already exists: $imageHash\n";
continue;
}
// 保存图片到文件夹
if (!file_put_contents($imagePath, $response)) {
echo "Error saving the image to $imagePath.\n";
continue;
}
echo "Image saved as: $imageHash\n";
// 获取表中最后一个id
$sql = "SELECT id FROM $image_table ORDER BY id DESC LIMIT 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$lastId = $row["id"];
$newId = $lastId + 1;
} else {
$newId = 1;
}
echo $newId;
// 将图片信息插入到数据库
$sql = "INSERT INTO $image_table (id, imgurl) VALUES ('$newId', '$imageHash.png')";
if ($conn->query($sql) === FALSE) {
echo "Error inserting image into database: " . $conn->error;
}
// 如果只需要保存一个图片,可以在这里使用 break
// break;
}
$conn->close();
echo "Done saving images and inserting into database.";
开源个PHP扒图片代码 可以扒API图片
设置计划任务可以一键扒API图片 图片自动下载到目录 图片链接写入数据库
如果图片存在自动跳过 不存在才存入
API链接返回的信息要为JSON
$i为每次运行扒取多少次
宝塔定时任务配置
Shell脚本 每天或者自定义运行一次
内容为:
php /目录/PHP文件名
例:
php /taobao/taobao.php
{
"code": "200",
"imgurl": "https://gw1.alicdn.com/tfscom/tuitui/O1CN01nKkayM1FRiCoda2lF_!!0-rate.jpg",
"width": "1215",
"height": "1215"
}
<?php
// API URL
$apiUrl = 'API链接';
// 指定图片保存目录
$imgDir = '/taobao/img/';
// 数据库连接信息
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
$image_table = "taobao_data"; // 数据表名称
// 确保图片目录存在且可写
if (!is_dir($imgDir)) {
mkdir($imgDir, 0755, true);
}
if (!is_writable($imgDir)) {
die("The directory containing the images is not writable.");
}
// 获取表中最后一个id
$sql = "SELECT id FROM $image_table ORDER BY id DESC LIMIT 1";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$lastId = $row["id"];
} else {
$lastId = 0;
}
// 发送API请求并保存图片 50次
for ($i = 0; $i < 5000; $i++) {
$imgUrl = fetchImgUrlFromApi($apiUrl);
// 如果成功获取到imgurl,则下载图片并保存到数据库
if ($imgUrl) {
$filename = basename($imgUrl); // 获取图片的文件名
$savePath = $imgDir . $filename; // 构建完整的保存路径
// 下载图片
downloadImage($imgUrl, $savePath);
$newId = $lastId + 1;
// 检查数据库是否已经存在相同的imgurl
$sql_check = "SELECT id FROM $image_table WHERE imgurl = '$imgUrl'";
$result_check = $conn->query($sql_check);
if ($result_check->num_rows == 0) {
$sql_insert = "INSERT INTO $image_table (id, imgurl) VALUES ('$newId', '$imgUrl')";
if ($conn->query($sql_insert) === FALSE) {
echo "Error inserting image into database: " . $conn->error;
}
$lastId = $newId; // 更新最后一个id
} else {
echo "Image already exists in database. Skipping insertion.";
}
}
}
// 关闭数据库连接
$conn->close();
// 定义从API获取imgurl的函数
function fetchImgUrlFromApi($apiUrl) {
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response === false) {
$error = curl_error($ch);
error_log("cURL Error: $error");
return null;
}
$data = json_decode($response, true);
if ($data && isset($data['imgurl'])) {
return $data['imgurl'];
}
curl_close($ch);
return null;
}
// 定义下载图片的函数
function downloadImage($imageUrl, $savePath) {
$ch = curl_init($imageUrl);
curl_setopt($ch, CURLOPT_FILE, fopen($savePath, 'w'));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);
}
// 所有请求完成后,输出"ok"
echo "ok";