借助 phantomjscloud 的免费套餐
借助 cron-job.org 来触发
第一步: 注册 https://phantomjscloud.com/,获取到ApiKey
第二步: 获取一个链接
<?php
// phantomjscloud.com 上申请到的Key
$cloudKey = 'a-demo-key-with-low-quota-per-ip-address';
// Hostloc 上自己的用户名和密码
$locUserName = 'cpuer';
$locPassword = 'password@loc';
$url = "https://phantomjscloud.com/api/browser/v2/{$cloudKey}/";
$jsonString = <<<EOF
{
"renderType": "html",
"overseerScript":"await page.goto('https://www.hostloc.com'); await page.waitForSelector('#ls_username'); await page.type('#ls_username', '{$locUserName}', { delay: 0 }); await page.type('#ls_password', '{$locPassword}', { delay: 0 }); page.click('.fastlg_l > button'); await sleep(); const userIds = [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 14201]; for (const userId of userIds) { await page.goto(`https://www.hostloc.com/space-uid-\${userId}.html?ajaxmenu=1&inajax=1`); await sleep(); } function sleep(seconds = 3) { return new Promise((resolve) => { setTimeout(() => { resolve(); }, seconds * 1000); }); }"
}
EOF;
$jsonData = json_decode($jsonString, true);
$requestString = json_encode($jsonData);
$requestString = urlencode($requestString);
$url .= "?request=$requestString";
exit($url);
- 修改网页里的PHP代码,把第一步获取到的ApiKey换上,然后把自己loc里的用户名和密码换上。
- 然后点击 Execute code 按钮 ,下面的文本框就会生成一个地址,用在下面的第三步。
- 也可以复制代码回来,保存为.php文件,在你自己的地方执行。
第三步: 每天定时触发这个链接
可以用自己VPS的crontab来wget或curl第二步生成的链接,也可以按照下面的步骤,利用第三方的网页计划任务来触发。
- 注册 https://cron-job.org
- 新建一个 任务 https://cron-job.org/en/members/jobs/add/
- 默认的时区不是北京时间,可以在新建任务之前,去修改为 Asia/Hong_Kong:https://cron-job.org/en/members/account/