亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Python爬蟲過程中怎么使用代理IP

發布時間:2021-04-29 11:09:11 來源:億速云 閱讀:170 作者:小新 欄目:編程語言

這篇文章主要介紹了在Python爬蟲過程中怎么使用代理IP,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

python是什么意思

Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。

許多網站會在一定時間內檢測到某個IP的訪問次數(通過流量統計、系統日志等),如果訪問次數多得不像正常人,就會禁止該IP的訪問。因此,我們可以設置一些代理服務器,每隔一段時間更換一個代理,即使IP被禁止,仍然可以更換IP繼續爬行。

1、設置代理服務器

通過ProxyHandler在request中設置使用代理服務器,代理的使用非常簡單,可以在專業網站上購買穩定的ip地址,也可以在網上尋找免費的ip代理。

免費開放代理基本沒有成本。我們可以在一些代理網站上收集這些免費代理。如果測試后可以使用,我們可以在爬蟲上收集它們。

2、selenium使用代理ip

selenium在使用帶有用戶名和密碼的代理ip時,不能使用無頭模式。

def create_proxy_auth_extension(proxy_host, proxy_port,
                                proxy_username, proxy_password,
                                scheme='http', plugin_path=None):
    if plugin_path is None:
        plugin_path = r'./proxy_auth_plugin.zip'
 
    manifest_json = """
        {
            "version": "1.0.0",
            "manifest_version": 2,
            "name": "Chrome Proxy",
            "permissions": [
                "proxy",
                "tabs",
                "unlimitedStorage",
                "storage",
                "<all_urls>",
                "webRequest",
                "webRequestBlocking"
            ],
            "background": {
                "scripts": ["background.js"]
            },
            "minimum_chrome_version":"22.0.0"
        }
        """
 
    background_js = string.Template(
        """
        var config = {
            mode: "fixed_servers",
            rules: {
                singleProxy: {
                    scheme: "${scheme}",
                    host: "${host}",
                    port: parseInt(${port})
                },
                bypassList: ["foobar.com"]
            }
          };
 
        chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});
 
        function callbackFn(details) {
            return {
                authCredentials: {
                    username: "${username}",
                    password: "${password}"
                }
            };
        }
 
        chrome.webRequest.onAuthRequired.addListener(
            callbackFn,
            {urls: ["<all_urls>"]},
            ['blocking']
        );
 
        chrome.webRequest.onBeforeSendHeaders.addListener(function (details) {
        details.requestHeaders.push({name:"connection",value:"close"});
            return {
            requestHeaders: details.requestHeaders
            };
        },
        {urls: ["<all_urls>"]},
            ['blocking']
        );
        """
    ).substitute(
        host=proxy_host,
        port=proxy_port,
        username=proxy_username,
        password=proxy_password,
        scheme=scheme,
    )
 
    with zipfile.ZipFile(plugin_path, 'w') as zp:
        zp.writestr("manifest.json", manifest_json)
        zp.writestr("background.js", background_js)
 
    return plugin_path
chrome_options = webdriver.ChromeOptions()
proxy_auth_plugin_path = create_proxy_auth_extension(
    proxy_host=proxyHost,
    proxy_port=proxyPort,
    proxy_username=proxyUser,
    proxy_password=proxyPass)
chrome_options.add_extension(proxy_auth_plugin_path)
driver = webdriver.Chrome(chrome_options=chrome_options)

感謝你能夠認真閱讀完這篇文章,希望小編分享的“在Python爬蟲過程中怎么使用代理IP”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

米泉市| 商河县| 平遥县| 襄垣县| 蒙城县| 洞头县| 苏州市| 宁夏| 基隆市| 安庆市| 丁青县| 平原县| 新平| 红桥区| 巢湖市| 周口市| 黄陵县| 棋牌| 古丈县| 衡阳市| 深圳市| 项城市| 毕节市| 临江市| 耿马| 镇雄县| 柳江县| 珠海市| 肥东县| 穆棱市| 资中县| 栾川县| 大宁县| 岑巩县| 洪泽县| 遵义市| 新巴尔虎左旗| 永和县| 成武县| 万盛区| 白银市|