点赞 ➕ 评论 ➕ 收藏 = 三连再看你最帅
目录
一、 why 代理 ip
第一,独享 IP 提高网络速度
第二,更高的安全性
第三,更高的可靠性
二、 准备工作(已安装 requests,可跳过本节)
1、 背景知识 requests
2、 pip 安装 requests
3、 pycharm 安装 requests
4、 requests 常用调用方式
5、 requests 返回参数
6、 一行代码使用 requests
三、 代理 ip 技术
1、⚽️ 什么是动态住宅 IP?
2、 生成代理 api
3、 api 生成代理 ip
4、 使用代理访问网页
四、 技术支持
1、 找西红柿
2、 找给力的官方客服
3、 官网案例demo和答疑
一、 why 代理 ip
第一,独享 IP 提高网络速度
上网速度更快独享代理 IP 的服务有点就在于用户独享性性质。意思就是说这个独享的代理 IP 的上网线路不像其他的普通代理那样,是所有用户共同使用的线路,只提供给单独购买的客户使用,大大的提升了用户的上网速度。独享的代理 IP 优势就在于可以让用户在上网、下载、或者工作的时候可以让上网速度不受其他用户上网的干扰。
第二,更高的安全性
使用独享代理 IP 的用户一般都是自己独自使用的一个代理服务器,这无形中就保证了 IP 资源的安全性。
第三,更高的可靠性
使用普通代理 IP 上网也许会在我们上网或者下载资料的时候,IP 地址突然被不可用,会导致我们正在做的事情受到非常大的影响,甚至造成一定的损失。不过独享的代理 IP 就完全没有这方面的风险,可以放心的上网。
二、 准备工作(已安装 requests,可跳过本节)
欲使用代理 ip、必先做以下 2 个准备工作。
Python requests
花几十块买一个海外服务器(放心!现在云服买来即可用,不用安装配置啥,自带 python 的)
1、 背景知识 requests
了解背景知识。python 之所以强大,一个重要的原因就是,拿来即用的代码库丰富!
其中,访问网页,最好用的就是 requests,没有之一。
get 方法
post 方法
header 参数,模拟用户
data 参数,提交数据
proxies 参数,使用代理
2、 pip 安装 requests
使用这条命令即可。
pipinstallrequests
3、 pycharm 安装 requests
举一反四,其它包的安装方法类似!
4、 requests 常用调用方式
GET 变量接受所有以 get 方式发送的请求,及浏览器地址栏中的 ” />5、 requests 返回参数
r.status_code HTTP 请求的返回状态,200 表示连接成功
r.text HTTP 响应内容的字符串形式,即 url 对应的页面内容
r.encoding 从 HTTP header 中的响应内容编码方式
r.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式)
r.content HTTP 响应内容的二进制形式
6、 一行代码使用 requests
导入 Requests 模块:
importrequests
然后,尝试获取某个网页。访问本链接有惊喜哟~
r=requests.get('https://app.yinxiang.com/fx/13ce6bbd-f36f-4e92-be53-92dd381ed729')
三、 代理 ip 技术
1、⚽️ 什么是动态住宅 IP?
动态住宅 IP 是私有 IP 地址。当你发送请求时,该请求会在访问 Web 时 通过真实用户而不是通过数据中心进行。
这意味着在请求访问时被拦下来的可能性较小并且成功率更高。
无限并发
IP 可用率> 98%
API 调用频率:1 秒
HTTP、HTTPS 和 SOCKS5 协议
2、 生成代理 api
环境准备
硬件环境: mac
软件环境: python 3.8
代理环境: 动态住宅 ip 代理网站
个人认证
为响应国家要求,必须先认证的哟~
获取代理 ip
登录 Ipidea.net 账号,生成 API 链接,打开链接并将链接内的 IP 复制
到此,你拿到了代理 ip 的 api 链接,记得复制保存,等下要用。
当然,也可以直接把链接加到浏览器中, 则会返回类似的代理 ip。
如果提示,请添加 ip 白名单,可以先这样,再这样。
3、 api 生成代理 ip
在生成之前,可选择的添加一下参数。
生成代理 ip 的代码:
defget_proxie(self,api_url):#微信搜:信息技术智库,回复'源码'#user_agentuser_agent='Mozilla/5.0(Linux;Android10;EVR-AL00Build/HUAWEIEVR-AL00;wv)AppleWebKit/537.36(KHTML,likeGecko)Version/4.0Chrome/74.0.3729.186MobileSafari/537.36baiduboxapp/11.0.5.12(Baidu;P110)'headers={'User-Agent':user_agent}res=requests.post(api_url,headers=headers,verify=True)proxie="https://%s"%(res.text)proxies={'http':proxie}#proxie_check方法为测试访问,可以不加!is_valid,proxies=visitor.proxie_check(proxies)returnis_valid,proxies
测试代理 ip
测试代理 ip:curl -x ip:端口 ipinfo.io
4、 使用代理访问网页
在上一步中,我们拿到了代理 ip。
西红柿使用的是 ipidea: 可领取免费流量玩一玩
当然,你如果还有其他方法,欢迎架微 notomoto 进 Python 裙交流。
代码解释:
url 为访问的地址
proxies=proxie 为使用代理
classVisitor(object):def__init__(self):"""InitsVisitorwithblah."""self.eggs=0@time_decoratordefproxie_visit(self,proxie,url):user_agent_list=['Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)''Chrome/45.0.2454.85Safari/537.36115Browser/6.0.3',]#随机挑选一个user_agentuser_agent=random.choice(user_agent_list)Referer='https://www.baidu.com/'#伪装成从baiduheaders={'Referer':Referer,'User-Agent':user_agent}#proxies代理访问res=requests.get(url,headers=headers,proxies=proxie)returnres.text
四、 技术支持
1、 找西红柿
到此,西红柿演示了:使用代码 ip 访问网站,这是一个简单的蜘蛛原型。 基于这个加以优化,可以实现很多有意思的事情,如有不懂,欢迎私聊咨询。
2、 找给力的官方客服
3、 官网案例demo和答疑
1、常用demo
2、问题答疑