国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化

這篇具有很好參考價(jià)值的文章主要介紹了【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

背景:

之前用過(guò)芝麻IP,寫(xiě)過(guò)這幾篇文章
《【Python】芝麻HTTP代理系列保姆級(jí)全套攻略(對(duì)接教程+自動(dòng)領(lǐng)取每日IP+IP最優(yōu)算法)》
《【Python】記錄抓包分析自動(dòng)領(lǐng)取芝麻HTTP每日免費(fèi)IP(成品+教程)》
《爬蟲(chóng)增加代理池:使用穩(wěn)定第三方芝麻代理IP 教程(詳細(xì)可用)》
后面的項(xiàng)目都用他家的代理是因?yàn)?,每天都有免費(fèi)額度,不知不覺(jué)薅羊毛275天了,而且上次使用還不能生成代碼,提交了建議后沒(méi)想到真的實(shí)現(xiàn)了
【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化


目錄:


設(shè)計(jì)思路:

【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化

用戶(hù)通過(guò)小程序訪問(wèn)孔夫子的圖書(shū)詳情接口,訪問(wèn)前通過(guò)檢查redis判斷是否有代理IP,沒(méi)有則生成并記錄去redis,有則直接使用,因?yàn)榻涌谑褂貌粫?huì)存在長(zhǎng)時(shí)間連接的情況,基本都是一次性訪問(wèn),所以,本次方案行得通。

通過(guò)購(gòu)買(mǎi)代理次數(shù)包,每次提取一個(gè)代理供接口調(diào)用使用,因?yàn)橛脩?hù)使用時(shí)段不一樣,做到能最大限度節(jié)約成本,一個(gè)IP在有效時(shí)間內(nèi)供多人使用,可以看下他們的價(jià)目表,開(kāi)發(fā)可以先使用體驗(yàn)套餐

【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化

這里由于沒(méi)有額度了,我先開(kāi)通套餐
【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化


獲取代理接口

1、通過(guò)配置參數(shù)獲取接口
【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化

2、通過(guò)curl獲得php訪問(wèn)代碼

 // 初始化 cURL
        $ch = curl_init();
        
        // 設(shè)置 cURL 參數(shù)
        curl_setopt($ch, CURLOPT_URL, "http://**********s=");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        
        // 發(fā)送請(qǐng)求并獲取響應(yīng)
        $response = curl_exec($ch);
        
        // 關(guān)閉 cURL
        curl_close($ch);

        $data = json_decode(trim($response),true);

3、通過(guò)訪問(wèn)觀察下返回情況

有ip、端口、以及過(guò)期時(shí)間

{
	"code": 0,
	"data": [{
		"ip": "111.76.65.216",
		"port": 4278,
		"expire_time": "2023-06-16 16:46:05"
	}],
	"msg": "0",
	"success": true
}

【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化


封裝IP檢測(cè)模塊

在控制器中,新建zhimahttp方法
【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化

如果redis沒(méi)有該記錄則重新獲取IP,具體可以看流程圖??
【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化

過(guò)期時(shí)間換算

獲取到過(guò)期時(shí)間后,通過(guò)計(jì)算現(xiàn)在與目標(biāo)過(guò)期的時(shí)間,確定存儲(chǔ)倒計(jì)時(shí)

 // 獲取當(dāng)前時(shí)間戳
    $now = time();
    
    // 將時(shí)間字符串轉(zhuǎn)換為時(shí)間戳
    $target = strtotime($expireTime);
    
    // 計(jì)算時(shí)間差
    $diff = $target - $now;
    // 存入redis
    $redis->set($proxy_name,$proxyServer,$diff);

最后,完整封裝代碼如下:

 // 芝麻ip代理配置
       public function zhimahttp(){
      
        $proxy_name="proxy_ip";//定義存儲(chǔ)名
        $redis = new Redis();
           //查詢(xún)r(jià)edis是否有記錄
        $re= $redis->get("$proxy_name");
               if ($re) {
                   // 存在記錄使用即可
                   return "$re";
                die();
               } else {
                   //不存在記錄,從芝麻ip獲取并存儲(chǔ)
               // 初始化 cURL
        $ch = curl_init();
        
        // 設(shè)置 cURL 參數(shù)
        curl_setopt($ch, CURLOPT_URL, "htt**********ns=");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        
        // 發(fā)送請(qǐng)求并獲取響應(yīng)
        $response = curl_exec($ch);
        
        // 關(guān)閉 cURL
        curl_close($ch);

        $data = json_decode(trim($response),true);
        // 判斷code的值
if ($data['code'] == 0) {
    // 解析ip、port、expire_time
    $ip = $data['data'][0]['ip'];
    $port = $data['data'][0]['port'];
    $expireTime = $data['data'][0]['expire_time'];
    
    // 輸出解析結(jié)果
    // echo "IP: $ip\n";
    // echo "Port: $port\n";
    // echo "expireTime: $expireTime\n";
    $proxyServer = 'http://' . $ip.':'.$port;
    // echo "$proxyServer";
    // 獲取當(dāng)前時(shí)間戳
    $now = time();
    
    // 將時(shí)間字符串轉(zhuǎn)換為時(shí)間戳
    $target = strtotime($expireTime);
    
    // 計(jì)算時(shí)間差
    $diff = $target - $now;
    // 存入redis
    $redis->set($proxy_name,$proxyServer,$diff);
    return $proxyServer;
} else {
      // exit('ip 不正確');
      die(
        json_encode(
            array(
            'code' => 100,
            'data'=>'',
            'msg' => 'ip 不正確'
        ),480)
);
}
            
        
               }
        
        
    }

調(diào)用檢測(cè)模塊:

上面的代碼中,我們已經(jīng)在控制器中封裝了方法,如何使用呢?

在tp5中調(diào)用方法即可,調(diào)用方法:

  //代理ip   
 $proxyServer =$this->zhimahttp();
 //代理ip   

結(jié)合我的業(yè)務(wù)代碼,在訪問(wèn)接口前進(jìn)行調(diào)用檢查即可,接下來(lái)是一個(gè)示例:

 //調(diào)用代理ip檢查   
 $proxyServer =$this->zhimahttp(); 
    
 $ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://app.kongfz.com/invokeSearch/app/product/productSearchV2');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, $proxyServer);
$response = curl_exec($ch);

curl_close($ch);

注意:

curl_setopt($ch, CURLOPT_PROXY, $proxyServer);
記得在上面加上,不然代理ip沒(méi)用上

接口測(cè)試

訪問(wèn)一次目標(biāo)接口,由于第一次redis中沒(méi)有記錄,所以會(huì)存入名為proxy_ip的數(shù)據(jù)
【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化

再次訪問(wèn)(記錄沒(méi)有過(guò)期),由于記錄存在所以就直接返回代理ip了,測(cè)試了下小程序接口可以正常使用

最后

喜歡爬蟲(chóng)類(lèi)文章的可以訂閱我專(zhuān)欄哦
??歡迎訂閱?? ??歡迎訂閱??
??Python爬蟲(chóng)項(xiàng)目實(shí)戰(zhàn)系列文章??!
??歡迎訂閱?? ??歡迎訂閱??

??Python爬蟲(chóng)項(xiàng)目實(shí)戰(zhàn)系列文章?。?br> ??往期文章??

【Python爬蟲(chóng)項(xiàng)目實(shí)戰(zhàn)一】獲取Chatgpt3.5免費(fèi)接口文末付代碼(過(guò)Authorization認(rèn)證)
【Python爬蟲(chóng)項(xiàng)目實(shí)戰(zhàn)二】Chatgpt還原驗(yàn)證算法-解密某寶偽知網(wǎng)數(shù)據(jù)接口

??往期文章??文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-489920.html

到了這里,關(guān)于【Redis】孔夫子舊書(shū)網(wǎng)爬蟲(chóng)接入芝麻代理IP:代理IP利用效率最大化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 探秘高效爬蟲(chóng)技巧:Selenium + 代理解決IP封禁問(wèn)題!----selenium爬蟲(chóng)添加代理

    我們使用selenium用于爬蟲(chóng),可能由于單個(gè)域名下短時(shí)間內(nèi)請(qǐng)求過(guò)多,造成IP封禁的問(wèn)題。為了應(yīng)對(duì)這個(gè)問(wèn)題,我們通常會(huì)采取添加代理的方式。 為了繞開(kāi)IP封禁問(wèn)題,最常見(jiàn)的思路是使用代理。在Chrome瀏覽器中,我們可以通過(guò)白名單的方式在代理網(wǎng)站上添加自己的任務(wù)機(jī)公網(wǎng)

    2024年02月05日
    瀏覽(37)
  • 探究HTTP代理爬蟲(chóng)的反爬蟲(chóng)策略

    在當(dāng)前信息爆炸的時(shí)代,海量的數(shù)據(jù)成為了企業(yè)發(fā)展和決策的關(guān)鍵資源。然而,越來(lái)越多的網(wǎng)站為了保護(hù)數(shù)據(jù)和用戶(hù)隱私的安全,采取了各種反爬蟲(chóng)策略。作為一家專(zhuān)業(yè)的HTTP代理產(chǎn)品供應(yīng)商,我們一直在研究和優(yōu)化反爬蟲(chóng)策略,為用戶(hù)提供更好的數(shù)據(jù)采集解決方案。今天,我

    2024年02月15日
    瀏覽(22)
  • 【Python爬蟲(chóng)筆記】爬蟲(chóng)代理IP與訪問(wèn)控制

    【Python爬蟲(chóng)筆記】爬蟲(chóng)代理IP與訪問(wèn)控制

    一、前言 在進(jìn)行網(wǎng)絡(luò)爬蟲(chóng)的開(kāi)發(fā)過(guò)程中,有許多限制因素阻礙著爬蟲(chóng)程序的正常運(yùn)行,其中最主要的一點(diǎn)就是反爬蟲(chóng)機(jī)制。為了防止爬蟲(chóng)程序在短時(shí)間內(nèi)大量地請(qǐng)求同一個(gè)網(wǎng)站,網(wǎng)站管理者會(huì)使用一些方式進(jìn)行限制。這時(shí)候,代理IP就是解決方案之一。 本文主要介紹如何在爬

    2024年02月09日
    瀏覽(22)
  • javaScript藍(lán)橋杯-----芝麻開(kāi)門(mén)

    javaScript藍(lán)橋杯-----芝麻開(kāi)門(mén)

    在阿里巴巴和四十大盜的故事中,阿里巴巴因?yàn)闊o(wú)意中知道了開(kāi)門(mén)的咒語(yǔ)人生發(fā)生了翻天覆地的變化,四十大盜也因?yàn)橹湔Z(yǔ)的泄露最終喪命。芝麻開(kāi)門(mén)的咒語(yǔ)作為重要的信息推動(dòng)著故事的發(fā)展。下面由你來(lái)為門(mén)設(shè)置這道機(jī)關(guān),輸入芝麻開(kāi)門(mén)后才能放行。 本題已經(jīng)內(nèi)置了初始代

    2024年02月07日
    瀏覽(14)
  • python爬蟲(chóng)-------urllib代理和代理池(第十七天)

    python爬蟲(chóng)-------urllib代理和代理池(第十七天)

    ????作者主頁(yè): 喔的嘛呀???? ????所屬專(zhuān)欄:python爬蟲(chóng)學(xué)習(xí)???? ??謝謝大家捧場(chǎng),祝屏幕前的小伙伴們每天都有好運(yùn)相伴左右,一定要天天開(kāi)心哦!??? 嗨嗨嗨,兄弟姐妹們。我是喔的嘛呀。今天的學(xué)習(xí)內(nèi)容是:爬蟲(chóng) urllib代理和代理池 目錄 一、爬蟲(chóng) urllib——代理

    2024年04月14日
    瀏覽(25)
  • 網(wǎng)絡(luò)爬蟲(chóng)中的代理技術(shù):socks5代理和HTTP代理

    網(wǎng)絡(luò)爬蟲(chóng)中的代理技術(shù):socks5代理和HTTP代理

    ? ? ?網(wǎng)絡(luò)爬蟲(chóng)是一種非常重要的數(shù)據(jù)采集工具,但是在進(jìn)行網(wǎng)絡(luò)爬蟲(chóng)時(shí),我們經(jīng)常會(huì)遇到一些限制,比如IP封鎖、反爬蟲(chóng)機(jī)制等,這些限制會(huì)影響我們的數(shù)據(jù)采集效果。為了解決這些問(wèn)題,我們可以使用代理服務(wù)器,其中socks5代理和HTTP代理是兩種常用的代理方式。 首先,

    2024年02月08日
    瀏覽(24)
  • 【Python】爬蟲(chóng)代理IP的使用+建立代理IP池

    【Python】爬蟲(chóng)代理IP的使用+建立代理IP池

    目錄 前言 一、代理IP 1. 代理IP的獲取 2. 代理IP的驗(yàn)證 3. 代理IP的使用 二、建立代理IP池 1. 代理IP池的建立 2. 動(dòng)態(tài)維護(hù)代理IP池 三、完整代碼 總結(jié) 前言 在進(jìn)行網(wǎng)絡(luò)爬蟲(chóng)開(kāi)發(fā)時(shí),我們很容易遭遇反爬蟲(chóng)機(jī)制的阻礙。為了規(guī)避反爬蟲(chóng)機(jī)制,我們可以使用代理IP。代理IP是指通過(guò)代

    2024年02月22日
    瀏覽(19)
  • 【網(wǎng)絡(luò)爬蟲(chóng)】模擬登錄與代理

    【網(wǎng)絡(luò)爬蟲(chóng)】模擬登錄與代理

    ? ?個(gè)人主頁(yè):北·海 ???CSDN新晉作者 ???歡迎 ??點(diǎn)贊?評(píng)論?收藏 ?收錄專(zhuān)欄:C/C++ ??希望作者的文章能對(duì)你有所幫助,有不足的地方請(qǐng)?jiān)谠u(píng)論區(qū)留言指正,大家一起學(xué)習(xí)交流!?? ?

    2024年02月12日
    瀏覽(7)
  • Python爬蟲(chóng)實(shí)戰(zhàn)(二):爬取快代理構(gòu)建代理IP池

    Python爬蟲(chóng)實(shí)戰(zhàn)(二):爬取快代理構(gòu)建代理IP池

    博主開(kāi)始更新爬蟲(chóng)實(shí)戰(zhàn)教程了, 期待你的關(guān)注?。?! 第一篇:Python爬蟲(chóng)實(shí)戰(zhàn)(一):翻頁(yè)爬取數(shù)據(jù)存入SqlServer 第二篇:Python爬蟲(chóng)實(shí)戰(zhàn)(二):爬取快代理構(gòu)建代理IP池 點(diǎn)贊收藏博主更有創(chuàng)作動(dòng)力喲,以后常更?。?! 使用爬蟲(chóng)時(shí),大部分網(wǎng)站都有一定的反爬措施,有些網(wǎng)站會(huì)

    2024年02月11日
    瀏覽(32)
  • 爬蟲(chóng)時(shí)為什么需要代理?

    我們都知道爬蟲(chóng)時(shí)是需要代理地址介入的。使用代理可以隱藏你的真實(shí)IP地址,防止被網(wǎng)站封禁或限制訪問(wèn)。此外,代理還可以幫助你繞過(guò)地理限制,訪問(wèn)被封鎖的網(wǎng)站或服務(wù)。但是請(qǐng)注意,使用代理也可能會(huì)帶來(lái)一些風(fēng)險(xiǎn),例如代理服務(wù)器可能會(huì)記錄你的訪問(wèn)數(shù)據(jù),或者代

    2024年02月06日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包