日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

批量获取/打开链接 - 实践

發(fā)布時間:2023/12/31 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 批量获取/打开链接 - 实践 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.應(yīng)用場景

批量操作, 打開鏈接.

2.學(xué)習(xí)/操作

思路

獲取超鏈接標(biāo)簽, 然后使用批量打開每個超鏈接, 從而不需要手動一個個打開鏈接

完善

建議用腳本實(shí)現(xiàn), 然后寫一個定時腳本[服務(wù)器上],每天定時執(zhí)行.

環(huán)境

Chrome瀏覽器/其他瀏覽器也可以

PHP 7.3

nginx 1.15/1.16

方式一

2.1 使用?LmCjl在線工具?在線工具,抓取網(wǎng)頁超鏈接[需要清洗數(shù)據(jù),即不需要的數(shù)據(jù)去除掉即可]? --- 現(xiàn)在改為需要注冊登錄? -- 20210226 周五 家里

網(wǎng)站鏈接抓取_在線批量獲取網(wǎng)頁鏈接工具_(dá)鏈接抓取? //提取超鏈接在線工具

...?

2.2 使用在線工具批量打開超鏈接

2.2.1 輸入?批量打開網(wǎng)址、網(wǎng)頁、網(wǎng)站(網(wǎng)址、超鏈接批量打開工具,如何批量一鍵快速打開多個網(wǎng)站、網(wǎng)頁)?回車

2.2.2 注意

?首次操作,點(diǎn)擊批量打開按鈕后,瀏覽器會在上端網(wǎng)址欄www.ab173.com最右端有小圖標(biāo)(隱蔽圖標(biāo))提示攔截本站彈窗,請點(diǎn)擊選擇為允許本站所有彈窗。(不允許彈窗就是屏蔽批量打開的功能,請放心選擇)若已經(jīng)選擇允許彈窗,并測試可以批量打開網(wǎng)址,請忽略以下操作。

詳細(xì)信息見?批量打開網(wǎng)址、網(wǎng)頁、網(wǎng)站(網(wǎng)址、超鏈接批量打開工具,如何批量一鍵快速打開多個網(wǎng)站、網(wǎng)頁)?常見問題

chrome://settings/content/popups? ?//隱私設(shè)置和安全性 - 彈出式窗口和重定向

截圖如下:

2.2.3 點(diǎn)擊'批量打開',結(jié)果如下:

由上可知, 已經(jīng)成功.

備注:

根絕個人電腦配置以及瀏覽器種類而定同時打開的超鏈接數(shù).

這里:[作為參考]

同時開啟200個tab, 是okay的.

cpu會瞬間升高, 但是稍后會降下來, 內(nèi)存也會升高, 不會降下來.?

//另外我這里僅僅是想執(zhí)行請求, 并不是要得到響應(yīng)結(jié)果,所以頁面發(fā)出請求就可以關(guān)閉了.

方式二:使用爬蟲獲取超鏈接,后用循環(huán)執(zhí)行打開超鏈接? //均使用腳本語言來處理, 即完全自己寫代碼來處理

php/python均可.

PHP實(shí)現(xiàn)

<?php

//1.數(shù)據(jù)文件[這里不是大文件]
$dataFile = dirname(__FILE__) . '/urls.txt';

//2.讀取文件內(nèi)容
$dataStr = file_get_contents($dataFile);

//3.清洗數(shù)據(jù)
$dataStr = preg_replace('/([\d]+-[\d]+\s)|(\r\n)/', ' ', $dataStr);
$dataArr = explode(' ', $dataStr);

//3.1 隨機(jī)選取部分?jǐn)?shù)據(jù), 也可以做測試
shuffle($dataArr); //打亂
$dataArr = array_slice($dataArr, 0, 147);

//4.統(tǒng)計時間
$timeSum = 0;
$num = 0;
$dataTime = date('Y-m-d H:i:s', time());

//5.curl請求[循環(huán),也可以同時發(fā)請求
$ch = curl_init();
foreach($dataArr as $url){
?? ?if(!$url){
?? ??? ?continue;
?? ?}
?? ?curl_setopt($ch, CURLOPT_URL, trim($url));
?? ?curl_setopt($ch, CURLOPT_HEADER, TRUE);
?? ?curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove body[即不輸出body,Will be fasters]
?? ?curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
?? ?curl_exec($ch);
?? ?if(!curl_errno($ch)){
?? ? ?$info = curl_getinfo($ch);
?? ? ?$timeSum += $info['total_time'];
?? ? ?$num++;
?? ? ?//echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'] . "\n\r";
?? ?} else {
?? ? ?echo 'Curl error: ' . curl_error($ch) . ?" with $url \n\r";
?? ?}
}
// $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// echo $httpCode;

echo $dataTime . ' Total took ' . $timeSum . ' seconds to send requests of ' . $num . ' urls' . "\n\r";

curl_close($ch);

郵件通知

// 提供個思路

暫時參見:?Laravel 郵件_william_n的博客-CSDN博客_laravel 郵箱

實(shí)踐TBD

定時腳本? // 用shell/Perl編寫

shell腳本

Linux Crontab 定時任務(wù) - 學(xué)習(xí)/實(shí)踐_william_n的博客-CSDN博客? //Linux Crontab 定時任務(wù)

request_urls.sh

#!/bin/sh
cd ~/ningxiaofa/request_urls
php -q ./request_urls.php ?>> ./request_urls.txt
fileSize=`ls -l ?./request_urls.txt | awk '{print $5}'`
if [ ${fileSize} -gt 51200 ]
then
? ? ?rm -rf ?./request_urls.txt
? ? ?touch ./request_urls.txts
fi

定時任務(wù): //每31分鐘執(zhí)行一次

?*/31?*?* * * ~/crontab/request_urls.sh >> ~/ningxiaofa/request_urls.txt

修改后[將重定向輸出寫到shell腳本中]:

*/31 * * * * ~/crontab/request_urls.sh

最終結(jié)果:

定時腳本結(jié)果:

正常執(zhí)行.

Note

這里因?yàn)闀cho 輸出的內(nèi)容重定向輸出到request_urls.txt文本中, 可能時間長了之后, 文件較大,

建議在shell腳本中, 添加代碼判斷, 如果文件大小超過xxMB, 便刪除該文件.然后重建文該文件[應(yīng)不用TBD].

...

3.問題/補(bǔ)充

1.使用JavaScript能否正常實(shí)現(xiàn)功能? // 20201014 科學(xué)館

TBD

4.參考

php curl批量打開網(wǎng)址(curl_multi類)的實(shí)現(xiàn)代碼 -php教程-PHP中文網(wǎng)? //php curl批量打開網(wǎng)址(curl_multi類)的實(shí)現(xiàn)代碼

在線工具大全 - 推薦_william_n的博客-CSDN博客_在線工具大全?//工具

網(wǎng)站鏈接抓取_在線批量獲取網(wǎng)頁鏈接工具_(dá)鏈接抓取? //提取超鏈接-在線工具
批量打開網(wǎng)址、網(wǎng)頁、網(wǎng)站(網(wǎng)址、超鏈接批量打開工具,如何批量一鍵快速打開多個網(wǎng)站、網(wǎng)頁)? //批量打開超鏈接-在線工具

Shell 編程 - 學(xué)習(xí)/實(shí)踐_william_n的博客-CSDN博客?//Shell 編程

Shell腳本編寫 - 學(xué)習(xí)/實(shí)踐_william_n的博客-CSDN博客_shell腳本開發(fā)學(xué)習(xí)? //shell腳本編寫思路

后續(xù)補(bǔ)充

...

總結(jié)

以上是生活随笔為你收集整理的批量获取/打开链接 - 实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。