python使用代理的方法有两种

1.

  1. #先创建代理ip对象
  2. proxy_support = urllib.request.ProxyHandler({'https':'117.64.149.137:808'})
  3.  
  4. #定制一个opener对象
  5. opener = urllib.request.build_opener(proxy_support)
  6.  
  7. #安装这个opener对象,以后的urlopen就一直使用这个代理地址了
  8. urllib.request.install_opener(opener)
  9.  
  10. #发出请求时,就是用到这个代理地址了
  11. html = urllib.request.urlopen('xxxxxxxxxx').read()

2.

  1. #先创建代理ip对象
  2. proxy_support = urllib.request.ProxyHandler({'https':'117.64.149.137:808'})
  3.  
  4. #定制一个opener对象
  5. opener = urllib.request.build_opener(proxy_support)
  6.  
  7. #这里可以直接使用opener对象发出请求
  8. html = opener.open('xxxxxxxxx').read() 

示例代码:

  1. import urllib.request
  2.  
  3. #这一段三句话是为了请求时带上浏览器标识,因为有的网站看到是爬虫的标识直接返回403
  4. #请求的网站不涉及到提交数据,所以没有给出data参数
  5. url = 'https://whatismyipaddress.com/'
  6. header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
  7. req = urllib.request.Request(url,headers=header)
  8.  
  9. #使用代理和还原不使用代理的方法
  10. #if语句相当于一个开关,不要写成True
  11. use_proxy = urllib.request.ProxyHandler({'https':'117.64.149.137:808'})
  12. null_proxy = urllib.request.ProxyHandler()
  13. if True:
  14. opener = urllib.request.build_opener(use_proxy)
  15. else:
  16. opener = urllib.request.build_opener(null_proxy)
  17. #根据上面的开关,安装的opener对象是否带有代理地址
  18. urllib.request.install_opener(opener)
  19.  
  20. #获取返回结果
  21. #同时可以使用html = opener.open(req).read()获取结果
  22. html = urllib.request.urlopen(req).read()
  23.  
  24. #这网页返回页面的内容太多,在控制台不好查看,
  25. #并且返回的内容是二进制格式,可以直接写入文件,当个网页查看
  26. with open('E:\\whatismyip.html','wb') as file:
  27. file.write(html)
  28. print('OK')

  

  

python使用代理ip的更多相关文章

  1. python检验代理ip是否可用、代理ip检验

    python检验代理ip是否可用.代理ip检验 安装相关模块: pip install requests 验证代理IP是否可用脚本: import random import telnetlib im ...

  2. python使用代理ip发送http请求

    一.需求背景 网站刷票时,经常会遇到限制一个ip只能投票一次的限制,为此需要使用代理ip 二.脚本如下: 1.Proxy_http.py使用代理ip发送httpr的get和post请求 #coding ...

  3. [python]爬代理ip v2.0(未完待续)

    爬代理ip 所有的代码都放到了我的github上面, HTTP代理常识 HTTP代理按匿名度可分为透明代理.匿名代理和高度匿名代理. 特别感谢:勤奋的小孩 在评论中指出我文章中的错误. REMOTE_ ...

  4. Python爬虫代理IP池

    目录[-] 1.问题 2.代理池设计 3.代码模块 4.安装 5.使用 6.最后 在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的都是对应网站有效的代 ...

  5. python测试代理IP地址

    代码: # -*- coding: utf-8 -*- import urllib,urllib2,re from random import choice from scrapy.selector ...

  6. Python测试代理ip是否有效

    方式一: 通过icanhazip.com返回的ip地址进行检测 import requests '''代理IP地址(高匿)''' proxy = { 'http': 'http://117.85.10 ...

  7. python获取代理IP

    利用requests库获取代理,用Beautiful库解析网页筛选ip # -*- coding: utf- -*- import requests from bs4 import Beautiful ...

  8. python验证代理IP

    接上一篇保存的IP地址,进行验证 # -*- coding: utf-8 -*- import requests from threading import Thread import threadi ...

  9. python获取代理IP并测试是否可用

    # coding: utf-8 import urllib2 import re import time def getDL(page): url = 'http://www.xicidaili.co ...

随机推荐

  1. Java多线程(十二):中断机制

    这里详细分析interrupt(),interrupted(),isInterrupted()三个方法 interrupt() 中断这个线程,设置中断标识位 public void interrupt ...

  2. 简单的 Python 人脸识别实例

    案例一 导入图片 思路: 1.导入库 2.加载图片 3.创建窗口 4.显示图片 5.暂停窗口 6.关闭窗口 # 1.导入库 import cv2 # 2.加载图片 img = cv2.imread(' ...

  3. HihoCoder - 1617 方格取数

    HihoCoder - 1617 (从群主那里借鉴来的, 群主好强啊) 题意:中文题不解释... 题解: dp[X][i][j] 代表的是X是坐标之和 第一个人 走到位置 dp[i][x-i] 第二个 ...

  4. 【Nginx】(主从热备)LVS+Keepalived+Nginx实现高性能负载均衡集群

    一.LVS 1.1 概述 1.2 Nginx与LVS区别什么 二.Keepalived 2.1 概述 2.2 keepalived和其工作原理 三.LVS+Keepalived+Nginx 搭建双机主 ...

  5. 第 15 篇:优化博客功能的细节,提升使用体验—— HelloDjango 系列教程

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 在之前的系列教程中,我们已经实现了:文章的发布.展示.评论等功能,可能认真的小伙伴已经 ...

  6. Java机械分词

    这是我们做的一个小作业,不多说 直接附上我写的代码: public void Zheng() { try { BufferedReader bre = null; //String file = &q ...

  7. Nginx安装及详解

    Nginx简介: Nginx(发音engine x)专为性能优化而开发的开源软件,是HTTP.反向代理.邮件代理.TCP/UDP协议代理软件,由俄罗斯的作者Igor Sysoev开发,其最知名的优点是 ...

  8. Spring Boot 利用 nginx 实现生产环境的伪热更新

    当我们在服务器部署Java程序,特别是使用了 Spring Boot 生成单一 Jar 文件部署的时候,单一文件为我们开发单来的极大的便利性,保障程序的完整性.但同时对我们修改程序中的任何一处都带来重 ...

  9. .Net基础篇_学习笔记_第五天_流程控制while循环

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. Hive函数大全-完整版

    现在虽然有很多SQL ON Hadoop的解决方案,像Spark SQL.Impala.Presto等等,但就目前来看,在基于Hadoop的大数据分析平台.数据仓库中,Hive仍然是不可替代的角色.尽 ...