前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python爬虫实践之IP的使用

python爬虫实践之IP的使用

作者头像
小白学大数据
发布2024-06-08 17:32:03
690
发布2024-06-08 17:32:03
举报
文章被收录于专栏:python进阶学习python进阶学习

Python爬虫常常会面临自己ip地址被封的情况,也许刚入行的小白就只能等ip解封之后再进行接下来的操作了,但是这样的方式却是最不能借鉴的,万一数据需求量大,那要等到猴年马月呢?所以今天我们就来探讨下如何创建一个IP池并对其进行管理。对刚入行的小白很有帮助,希望大家耐心看下去,需要的朋友可以参考下。 很多的网站都有反爬机制,其中就有这样一条,就是服务器会检查请求的user-agent参数值,如果检查的结果为python,那么服务器就知道这是爬虫,所以为了避免被服务器发现这是爬虫,我们需要添加随机user-agen。这样就可以避免服务器发现这是同一个user-agent发起多次请求。还有一条就是网站会封IP,一般这样的情况就直接添加代理IP就可以,那么,从哪里获取IP呢?小编用的是亿牛云的这个网址,网址链接为:https://www.16yun.cn/,。很多小白会问怎么使用IP,这里介绍一种最简单方便的方式,那就是动态转发代理,我们接下来分享个示例供大家参考下: #! -- encoding:utf-8 --

代码语言:javascript
复制
import requests
import random

# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"

# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"

# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"

# 代理验证信息
proxyUser = "username"
proxyPass = "password"

proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
    "host" : proxyHost,
    "port" : proxyPort,
    "user" : proxyUser,
    "pass" : proxyPass,
}

# 设置 http和https访问都是用HTTP代理
proxies = {
    "http"  : proxyMeta,
    "https" : proxyMeta,
}


#  设置IP切换头
tunnel = random.randint(1,10000)
headers = {"Proxy-Tunnel": str(tunnel)}



resp = requests.get(targetUrl, proxies=proxies, headers=headers)

print resp.status_code
print resp.text

那我们在添加了代理IP之后怎么验证使用的ip是否可用?这里我们可以通过访问IP检测网址验证:http://current.ip.16yun.cn:802,只要返回的是代理IP那么就证明代理使用成功了,我们可以直接去访问需要获取的数据网站了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档