1.什么是代理?

​ 代理:将网络请求发送给代理服务器,通过代理服务器做中介,将请求转发给目标服务器并将响应返回,从而完成网络通信。

2.为什么使用代理?

​ 使用爬虫抓取批量资源时,在短时间内会对服务器发起高频请求,服务器会判定这些高频请求不是“普通访客”发起的,从而拒绝该IP的发起的请求,但是我们可以更换IP(使用代理IP)继续进行访问

3.代理的基础知识
  • ​ 代理的类型:http和https 根据要访问网页使用的协议类型进行选择
  • ​ 匿名度:分为透明、匿名和高匿

​ 透明:服务器知道使用了代理,而且知道真实的IP

​ 匿名:服务器知道使用了代理,而且但不知道真实的IP

​ 高匿:服务器不知道使用了代理,更不知道真实的IP

4.requests中的proxies参数
import requests
import random
requests.get(url = target_url,proxies = {'http':''163.125.114.117:8118''},headers =...)
#防止IP被禁,可以使用代理池
ht_proxy = [
{'http':'163.125.114.117:8118'},
{'http':'183.129.244.16:11063'},
{'http':':219.159.38.199:56210'}]
hts_proxy = [
{'https':'163.125.114.117:8118'},
{'https':'183.129.244.16:11063'},
{'https':':219.159.38.199:56210'}]
#使用User-Agent进行伪装
header_list = [
{ # 谷歌
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"},
# 火狐
{"user-agent": "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"},
# 遨游
{"user-agent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)"},
]
requests.get(url = target_url,proxies = random.choice(ht_proxy),
headers = random.choice(header_list))

#还可使用随机生成user-agent的第三方库(先安装)
from fake_useragent import UserAgent
ua = UserAgent().random
headers = {
'User-Agent':ua
} #随机产生UA,如果报错则可以添加如下参数:
#ua = UserAgent(verify_ssl=False,use_cache_server=False).random #禁用服务器缓存:
#ua = UserAgent(use_cache_server=False)
#不缓存数据:
#ua = UserAgent(cache=False)
#忽略ssl验证:
#ua = UserAgent(verify_ssl=False)

基于requests模块的代理的更多相关文章

  1. 基于requests模块的cookie,session和线程池爬取

    目录 基于requests模块的cookie,session和线程池爬取 基于requests模块的cookie操作 基于requests模块的代理操作 基于multiprocessing.dummy ...

  2. python 爬虫 基于requests模块发起ajax的post请求

    基于requests模块发起ajax的post请求 需求:爬取肯德基餐厅查询http://www.kfc.com.cn/kfccda/index.aspx中指定某个城市地点的餐厅数据 点击肯德基餐厅查 ...

  3. python 爬虫 基于requests模块发起ajax的get请求

    基于requests模块发起ajax的get请求 需求:爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情数据 用抓包工具捉取 使用ajax加载页面的请求 鼠标往下 ...

  4. requests 模块使用代理

    正向代理与反向代理的区别 反向代理: 服务器端知道代理的存在,反向代理是为了保护服务器或负责负载均衡 但是客户端不知道代理的存在的 正向代理: 客户端知道代理的存在,正向代理是为保护客户端,防止追究责 ...

  5. python 爬虫 基于requests模块的get请求

    需求:爬取搜狗首页的页面数据 import requests # 1.指定url url = 'https://www.sogou.com/' # 2.发起get请求:get方法会返回请求成功的响应对 ...

  6. python基础===基于requests模块上的协程【trip】

    今天看博客get了一个有趣的模块,叫做 trip     #(pip install  trip) 兼容2.7版本 基于两大依赖包:TRIP: Tornado & Requests In Pa ...

  7. requests模块使用代理

    1.创建try_proxies.py文件import requestsproxies = {"http":"http:117.135.34.6:8060"}he ...

  8. requests模块处理cookie,代理ip,基于线程池数据爬取

    引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的. 一.基于requests模块 ...

  9. requests模块的cookie和代理操作

    一.基于requests模块的cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不 ...

随机推荐

  1. Java基础系列 - 泛型和反射机制

    package com.test5; import java.lang.reflect.Field; import java.lang.reflect.Method; /** * Java泛型和反射机 ...

  2. zabbix (三) 所需磁盘容量计算

    一.zabbix 磁盘容量大小 zabbix的数据库大小取决于NVPS(new values per second)大小,NVPS从总体上反应了处理速度,与监控项的数目,监控项的类型,取值间隔,His ...

  3. vue tab嵌入iframe切换不刷新,相对完整的方案

    说到Vue的简单.便捷.高效,谁用谁喜欢,自然企业应用也来玩一把,三大经典组件:树控件,网格控件,选项卡控件: 本章先说选项卡tab控件的嵌入iframe. 本次主要解决以下问题: 1.tab控件混合 ...

  4. CodeForces - 1183E Subsequences (easy version) (字符串bfs)

    The only difference between the easy and the hard versions is constraints. A subsequence is a string ...

  5. mkfs格式化分区(为分区写入文件系统)

    mkfs 命令非常简单易用,不过是不能调整分区的默认参数的(比如块大小是 4096 Bytes),这些默认参数除非特殊清况,否则不需要调整.如果想要调整,就需要使用 mke2fs 命令重新格式化.命令 ...

  6. Alpha冲刺(4/4)

    队名:福大帮 组长博客链接:https://www.cnblogs.com/mhq-mhq/p/11913386.html 作业博客 :https://edu.cnblogs.com/campus/f ...

  7. C++利用openssl进行公钥解密

    私钥加密的部分内容,需要用公钥解密下面的实例代码,由于私钥加密后的字符串有不可打印字符,所以程序里面进行了base64,要用的时候先解dec base64 再传递给函数 进行解密 #include & ...

  8. 制作A4纸打印的网页像素大小设置(转)

    公司内做系统,要用A4纸打印东西,A4纸标准时mm,换算成像素不知道.网上找找,找到一篇文章,转一下,备用. A4纸的尺寸是210mm*297mm,也就是21.0cm*29.7cm,而1英寸=2.54 ...

  9. 22Flutter中的常见的按钮组件 以及自定义按钮组件

    /* Flutter中的常见的按钮组件 以及自定义按钮组件 一.Flutter中的按钮组件介绍 Flutter里有很多的Button组件,常见的按钮组件有:RaisedButton/FlatButto ...

  10. Docker 部署 ELK 收集 Nginx 日志

    一.简介 1.核心组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引 ...