GoogleLinkService.php
2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
/**
* @remark :
* @name :GoogleLinkService.php
* @author :lyh
* @method :post
* @time :2025/4/3 15:06
*/
namespace App\Services;
use App\Models\GoogleSearch\GoogleLink;
class GoogleLinkService
{
public $url = 'https://www.cmer.site/api/outlinks';
/**
* @remark :只拉取1页数据
* @name :linkPageData
* @author :lyh
* @method :post
* @time :2025/4/3 15:54
*/
public function linkPageData($domain, $page = 1, $pagesize = 200)
{
$param = [
'domain' => $domain,
'page' => $page,
'pagesize' => $pagesize,
];
$queryString = http_build_query($param);
$url = $this->url . '?' . $queryString;
$response = http_get($url);
if (!empty($response) && !empty($response['data']['data'])) {
if (!empty($response['data']['data'])) {
return $this->saveLink($response['data']['data']);// 批量插入
}
}
return true;
}
/**
* @remark :拉取所有数据
* @name :linkData
* @author :lyh
* @method :post
* @time :2025/4/3 15:55
*/
public function linkData($domain, $page = 1, $pagesize = 200)
{
$param = [
'domain' => $domain,
'page' => $page,
'pagesize' => $pagesize,
];
do {
$queryString = http_build_query($param);
$url = $this->url . '?' . $queryString;
$response = http_get($url);
if (!empty($response) && !empty($response['data']['data'])) {
if (!empty($response['data']['data'])) {
$this->saveLink($response['data']['data']);// 批量插入
}
$page++;
$param['page'] = $page; // 更新页码
} else {
break; // 遇到错误或空数据时跳出循环
}
} while ($page <= $response['data']['last_page']); // 循环直到拉取完所有页数据
return true;
}
/**
* @remark :保存数据库
* @name :saveLink
* @author :lyh
* @method :post
* @time :2025/4/3 15:26
*/
public function saveLink($data){
$saveData = [];
foreach ($data as $val){
$timestamp = strtotime($val['created_at']);
$date = date('Y-m-d H:i:s', $timestamp ?? time());
$saveData[] = [
'url'=>$val['url'],
'moz_da'=>$val['mozDA'],
'status'=>$val['status'],
'google_search'=>$val['googlesearch'],
'date'=>$date
];
}
$linkModel = new GoogleLink();
$linkModel->insertAll($saveData);
return $saveData;
}
}