zoukankan      html  css  js  c++  java
  • Python爬虫-Proxy代理的使用

     1 '''
     2 构建代理集群/队列
     3 每次访问服务器,随机抽取一个代理
     4 抽取可以使用 random.choice
     5 
     6 分析步骤:
     7 1. 构建代理群
     8 2. 每次访问,随机选取代理并执行
     9 '''
    10 
    11 
    12 from urllib import request, error
    13 
    14 
    15 # 使用代理步骤
    16 # 1. 设置代理地址
    17 proxy_list = [
    18     # 列表中存放的是dict类型的元素
    19     {"http": "101.50.1.2:80"},
    20     {"http": "58.240.172.110:3128"},
    21     {"http": "124.193.51.249:3128"},
    22     {"http": "120.199.64.163:8081"}
    23 ]
    24 
    25 # 2. 创建ProxyHandler
    26 proxy_handler_list = []
    27 for proxy in proxy_list:
    28     proxy_handler = request.ProxyHandler(proxy)
    29     proxy_handler_list.append(proxy_handler)
    30 # 3. 创建Opener
    31 opener_list = []
    32 for proxy_handler in proxy_handler_list:
    33     opener = request.build_opener(proxy_handler)
    34     opener_list.append(opener)
    35 
    36 import random
    37 
    38 url = "http://www.baidu.com"
    39 # 现在如果访问url,则使用代理服务器
    40 try:
    41     # 4. 安装Opener
    42     opener = random.choice(opener_list)
    43     request.install_opener( opener)
    44 
    45     rsp = request.urlopen(url)
    46     html = rsp.read().decode()
    47     print(html)
    48 except error.URLError as e:
    49     print(e)
    50 except Exception as e:
    51     print(e)
  • 相关阅读:
    【leetcode】1. Two Sum
    【leetcode】32. Longest Valid Parentheses
    【leetcode】20. Valid Parentheses
    scala细节
    【转】CentOS下firefox安装flash说明
    Spring 容器(一)
    源码学习快捷键
    Gradle编译spring3.x报错找不到itextpdf4.2.2解决方案
    Insertion Sort
    Bubble Sort
  • 原文地址:https://www.cnblogs.com/xuxaut-558/p/10086346.html
Copyright © 2011-2022 走看看