通过php来获取别人api内容

通过php来获取别人api内容

枫
2023-01-20 / 0 评论 / 183 阅读 / 耗时 180ms / 正在检测是否收录...

前言

 最近一直在弄API接口,然后无意看看到这些,然后了解了一会,然后可以通过PHP获取别人API内容,并设置路径存储,有什么用呢,懂得自然懂,可以用来抓别人接口的图链、视频链接、一言什么的,保存到本地txt,四舍五入变成自己的 表情
 比较笨拙,但很实用!

教程

1.首先我们通过如下代码来抓去api跳转后的内容
$urls = array(
    '这里填url地址', // 设置要抓取的url页面内容
    
);
$save_to='a.txt'; // 把抓取的代码写入该文件
$st = fopen($save_to,"a");
$mh = curl_multi_init();
foreach ($urls as $i => $url) {
    $conn[$i] = curl_init($url);
    curl_setopt($conn[$i], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
    curl_setopt($conn[$i], CURLOPT_HEADER ,0);
    curl_setopt($conn[$i], CURLOPT_CONNECTTIMEOUT,60);
    curl_setopt($conn[$i], CURLOPT_FILE,$st); // 将爬取的代码写入文件
    curl_multi_add_handle ($mh,$conn[$i]);
} // 初始化
2.获取之后,我们存储到文本中代码如下
$filename ="a.txt"; //储存位置,可以自定义
$handle =fopen($filename,"a+"); 
$str =fwrite($handle,$retURL);

//以下为换行符号 注释掉不换行
$strlist =fwrite($handle,"\n");
fclose($handle);
do {
    curl_multi_exec($mh,$active);
} while ($active); // 执行
foreach ($urls as $i => $url) {
    curl_multi_remove_handle($mh,$conn[$i]);
    curl_close($conn[$i]);
} // 结束清理
curl_multi_close($mh);
fclose($st);
3.因为刷新一下,只会执行一次,所以加个定时刷新
echo ("<script>setTimeout('window.location.reload()', 1);</script>");
4.整体代码,如下
$urls = array(
    '这里填url地址',// 设置要抓取的页面URL
); 
$save_to='a.txt'; // 把抓取的代码写入该文件
$st = fopen($save_to,"a");
$mh = curl_multi_init();
foreach ($urls as $i => $url) {
    $conn[$i] = curl_init($url);
    curl_setopt($conn[$i], CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
    curl_setopt($conn[$i], CURLOPT_HEADER ,0);
    curl_setopt($conn[$i], CURLOPT_CONNECTTIMEOUT,60);
    curl_setopt($conn[$i], CURLOPT_FILE,$st); // 将爬取的代码写入文件
    curl_multi_add_handle ($mh,$conn[$i]);
} // 初始化

$filename ="a.txt"; //储存位置,可以自定义
$handle =fopen($filename,"a+"); 
$str =fwrite($handle,$retURL);

//以下为换行符号 注释掉不换行
$strlist =fwrite($handle,"\n");
fclose($handle);
do {
    curl_multi_exec($mh,$active);
} while ($active); // 执行
foreach ($urls as $i => $url) {
    curl_multi_remove_handle($mh,$conn[$i]);
    curl_close($conn[$i]);
} // 结束清理
curl_multi_close($mh);
fclose($st);

//下面为定时刷新
echo ("<script>setTimeout('window.location.reload()', 1);</script>");
5.替换文本相同内容
一个文本里有相同的内容会被写出
需要新建个文本,不能放在上面里面
代码如下:
<?php
$text = file_get_contents('a.txt');//你要替换的内容
$lines = preg_split('/\r?\n/', $text);
$arr = array();
foreach($lines as $i=>$line) {
$arr[$line] = $i;
}
//重新写入一个新的TXT数据文件内
$fh = fopen('b.txt', 'a+'); //替换到这个文本,可自定义
fputs($fh, join("\n", array_keys($arr)));
fclose($fh);

效果

WNO1%1}7B79](]IAGE3RX8T.png

6

海报

正在生成.....

评论 (0)

取消