最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)IP代理批量采集的示例代碼

 更新時(shí)間:2022年09月29日 10:16:46   作者:小圓-  
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)IP代理批量采集,并檢測(cè)代理是否可用。文中的示例代碼講解詳細(xì),需要的可以參考一下

開(kāi)發(fā)環(huán)境 

python 3.8

pycharm

模塊使用 

import requests —> 需要安裝 pip install requests

import parsel —> 需要安裝 pip install parsel 解析數(shù)據(jù)模塊

如果安裝python第三方模塊:

  • win + R 輸入 cmd 點(diǎn)擊確定, 輸入安裝命令 pip install 模塊名 (pip install requests) 回車
  • 在pycharm中點(diǎn)擊Terminal(終端) 輸入安裝命令

IP代理: 采集網(wǎng)站數(shù)據(jù), 采集比較快, 你被封IP <一段時(shí)間內(nèi)容 不能訪問(wèn)這個(gè)網(wǎng)站>

基本流程(思路)

一. 數(shù)據(jù)來(lái)源分析

你要先分析, 你想要數(shù)據(jù)是請(qǐng)求那個(gè)url地址可以得到…

通過(guò)開(kāi)發(fā)者工具抓包分析, 分析我們想要數(shù)據(jù)來(lái)源

I. F12或者鼠標(biāo)右鍵點(diǎn)檢查 選擇network 刷新網(wǎng)頁(yè)

II. 分析數(shù)據(jù)內(nèi)容 <IP 以及 端口>來(lái)自于哪里

通過(guò)開(kāi)發(fā)者工具 關(guān)鍵字搜索數(shù)據(jù)來(lái)源 找到相對(duì)應(yīng)的數(shù)據(jù)包

二. 代碼實(shí)現(xiàn)步驟過(guò)程

爬蟲(chóng)基本四大步驟

發(fā)送請(qǐng)求, 模擬瀏覽器對(duì)于分析得到url地址發(fā)送請(qǐng)求 https://free.kuaidaili.com/free/inha/1/

獲取數(shù)據(jù), 獲取服務(wù)器返回響應(yīng)數(shù)據(jù) —> 開(kāi)發(fā)者工具里面看到 response

解析數(shù)據(jù), 提取我們想要數(shù)據(jù)內(nèi)容

保存數(shù)據(jù), 我們想要數(shù)據(jù)內(nèi)容保存本地

代碼

# 導(dǎo)入數(shù)據(jù)請(qǐng)求模塊 ---> 第三方模塊, 需要安裝 在cmd里面 pip install requests
import requests
# 導(dǎo)入數(shù)據(jù)解析模塊 ---> 第三方模塊, 需要安裝 在cmd里面 pip install parsel
import parsel
# 導(dǎo)入json模塊 ---> 內(nèi)置模塊 不需要安裝
import json
# 1. 發(fā)送請(qǐng)求, 模擬瀏覽器對(duì)于分析得到url地址發(fā)送請(qǐng)求
proxies_list = []
proxies_list_1 = []
# 請(qǐng)求url地址
for page in range(1, 11):
    url = f'https://www.boc.cn/sourcedb/whpj/index_{page}.html'
    """
    headers請(qǐng)求頭, 模擬偽裝瀏覽器去發(fā)送請(qǐng)求
        不加headers相當(dāng)于裸奔 ----> 告訴服務(wù)器, 我是爬蟲(chóng) 我是爬蟲(chóng)~ 你來(lái)抓我~
        加什么東西, 在哪加 ---> 開(kāi)發(fā)者工具里面 復(fù)制 ua
    """
    headers = {
        # User-Agent 用戶代理 表示瀏覽器基本身份標(biāo)識(shí)
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
    # 發(fā)送請(qǐng)求 ---> <Response [200]> 響應(yīng)對(duì)象, 200狀態(tài)碼 表示請(qǐng)求成功
    response = requests.get(url=url, headers=headers)
    # 2. 獲取數(shù)據(jù), 獲取服務(wù)器返回響應(yīng)數(shù)據(jù) print(response.text)
    """
    3. 解析數(shù)據(jù), 提取我們想要數(shù)據(jù)內(nèi)容
        解析方法:
            re正則: 對(duì)于字符串?dāng)?shù)據(jù)進(jìn)行提取
            css: 根據(jù)標(biāo)簽屬性內(nèi)容提取
            xpath: 根據(jù)標(biāo)簽節(jié)點(diǎn)提取
    """
    # 轉(zhuǎn)換數(shù)據(jù)類型 response.text<字符串?dāng)?shù)據(jù)>  <Selector xpath=None data='<html>\n<head>\n<meta http-equiv="X-UA-...'>
    selector = parsel.Selector(response.text)
    # 獲取tr標(biāo)簽  ---> 返回列表 列表里面元素是 Selector對(duì)象
    trs = selector.css('#list table tbody tr')
    trs_1 = selector.xpath('//*[@id="list"]/table/tbody/tr')
    # for循環(huán) 一個(gè)一個(gè)提取tr標(biāo)簽
    for tr in trs:
        # 提取ip號(hào) td:nth-child(1)::text 獲取第一個(gè)td標(biāo)簽里面文本數(shù)據(jù)
        ip_num = tr.css('td:nth-child(1)::text').get()
        # ip_num_1 = tr.xpath('td[1]/text()').get()
        ip_port = tr.css('td:nth-child(2)::text').get()
        """
        IP代理結(jié)構(gòu)是什么樣子的?
         proxies_dict = {
                    "http": "http://" + ip:端口,
                    "https": "http://" + ip:端口,
                }
        """
        proxies_dict = {
            "http": "http://" + ip_num + ':' + ip_port,
            "https": "https://" + ip_num + ':' + ip_port,
        }
        proxies_list_1.append(proxies_dict)
        # 檢測(cè)IP代理是否可用  用這個(gè)代理去請(qǐng)求一下網(wǎng)站就好了
        try:
            response_1 = requests.get(url='https://www.baidu.com/', proxies=proxies_dict, timeout=1)
            if response_1.status_code == 200:
                proxies_list.append(proxies_dict)
                print('代理可以使用: ', proxies_dict)
                # 保存代理到文本
                with open('代理.txt', mode='a', encoding='utf-8') as f:
                    f.write(json.dumps(proxies_dict))
                    f.write('\n')
        except:
            print('當(dāng)前代理:', proxies_dict, '請(qǐng)求超時(shí), 檢測(cè)不合格')

print('===' * 50)
print('一共獲取到:', len(proxies_list_1))
print('可以使用代理: ', len(proxies_list))
print(proxies_list)

到此這篇關(guān)于Python實(shí)現(xiàn)IP代理批量采集的示例代碼的文章就介紹到這了,更多相關(guān)Python采集IP代理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)滑塊驗(yàn)證碼詳解

    Python實(shí)現(xiàn)滑塊驗(yàn)證碼詳解

    驗(yàn)證碼作為一種自然人的機(jī)器人的判別工具,被廣泛的用于各種防止程序做自動(dòng)化的場(chǎng)景中。傳統(tǒng)的字符型驗(yàn)證安全性已經(jīng)名存實(shí)亡的情況下,各種新型的驗(yàn)證碼如雨后春筍般涌現(xiàn),今天給大家分享一篇Python實(shí)現(xiàn)滑塊驗(yàn)證碼
    2022-05-05
  • python代理工具mitmproxy使用指南

    python代理工具mitmproxy使用指南

    這篇文章主要介紹了python mitmproxy 使用指南,mitmproxy 可以用來(lái)攔截、修改、保存 HTTP/HTTPS 請(qǐng)求。以命令行終端形式呈現(xiàn),類似于 Chrome 瀏覽器開(kāi)發(fā)者模式的可視化工具,需要的朋友可以參考下
    2019-07-07
  • Python運(yùn)行異常管理解決方案

    Python運(yùn)行異常管理解決方案

    這篇文章主要介紹了Python運(yùn)行異常管理解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python編程開(kāi)發(fā)之textwrap文本樣式處理技巧

    python編程開(kāi)發(fā)之textwrap文本樣式處理技巧

    這篇文章主要介紹了python編程開(kāi)發(fā)之textwrap文本樣式處理技巧,實(shí)例分析了Python中textwrap的常用方法與處理文本樣式的相關(guān)使用技巧,需要的朋友可以參考下
    2015-11-11
  • python 爬蟲(chóng)一鍵爬取 淘寶天貓寶貝頁(yè)面主圖顏色圖和詳情圖的教程

    python 爬蟲(chóng)一鍵爬取 淘寶天貓寶貝頁(yè)面主圖顏色圖和詳情圖的教程

    今天小編就為大家分享一篇python 爬蟲(chóng)一鍵爬取 淘寶天貓寶貝頁(yè)面主圖顏色圖和詳情圖的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python任務(wù)調(diào)度利器之APScheduler詳解

    Python任務(wù)調(diào)度利器之APScheduler詳解

    所謂的任務(wù)調(diào)度是指安排任務(wù)的執(zhí)行計(jì)劃,即何時(shí)執(zhí)行,怎么執(zhí)行等。這篇文章主要介紹了Python任務(wù)調(diào)度利器之APScheduler詳解,需要的朋友可以參考下
    2020-04-04
  • ubuntu22.04將python源切換為清華源的方法

    ubuntu22.04將python源切換為清華源的方法

    在使用pip命令安裝python的一些庫(kù)時(shí),由于默認(rèn)服務(wù)器在國(guó)外,因此下載需要很長(zhǎng)時(shí)間,本文主要介紹了ubuntu22.04將python源切換為清華源的方法,感興趣的可以了解一下
    2023-12-12
  • Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    這篇文章主要介紹了Python中的左斜杠、右斜杠(正斜杠和反斜杠)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • 教你使用TensorFlow2識(shí)別驗(yàn)證碼

    教你使用TensorFlow2識(shí)別驗(yàn)證碼

    驗(yàn)證碼是根據(jù)隨機(jī)字符生成一幅圖片,然后在圖片中加入干擾象素,本文主要介紹了 TensorFlow2識(shí)別驗(yàn)證碼,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • python實(shí)現(xiàn)RabbitMQ的消息隊(duì)列的示例代碼

    python實(shí)現(xiàn)RabbitMQ的消息隊(duì)列的示例代碼

    這篇文章主要介紹了python實(shí)現(xiàn)RabbitMQ的消息隊(duì)列的示例代碼,總結(jié)了RabbitMQ中三種exchange模式的實(shí)現(xiàn),分別是fanout, direct和topic。感興趣的小伙伴們可以參考一下
    2018-11-11

最新評(píng)論

阜城县| 泌阳县| 镇江市| 安顺市| 班玛县| 奎屯市| 武夷山市| 大关县| 板桥市| 布尔津县| 竹山县| 衡南县| 监利县| 文成县| 北辰区| 安康市| 南木林县| 宁强县| 宁远县| 鄂伦春自治旗| 康乐县| 丁青县| 封丘县| 交城县| 海口市| 洮南市| 鄯善县| 淮北市| 贞丰县| 佛学| 盐津县| 康平县| 平远县| 卢龙县| 泉州市| 南涧| 枣阳市| 承德县| 陈巴尔虎旗| 方正县| 宜昌市|