本文向您介绍如何使用用户代理和代理IP来隐藏您的身份。内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。
1.为什么设置用户代理?
有些网站不喜欢被爬虫程序访问,所以会检测到连接的对象。如果是爬虫程序,也就是非人类的点击访问,就不允许你继续访问。因此,为了让程序正常运行,您需要隐藏您的爬虫程序的身份。此时,我们可以通过设置用户代理来达到隐藏身份的目的,用户代理的中文名称是User Agent,简称UA。
用户代理存储在标题中,服务器通过查看标题中的用户代理来判断谁在访问它。在Python中,如果没有设置用户代理,程序将使用默认参数,因此用户代理将有Python这个词。如果服务器检查用户代理,没有用户代理的Python程序将无法正常访问网站。
Python允许我们修改这个User Agent来模拟浏览器访问,其威力毋庸置疑。
第二,常见的用户代理。
1.机器人
Mozilla/5.0(Linux;Android 4 . 1 . 1;nexus 7 Build/JRO03D)applebwebkit/535.19(KHTML,像Gecko)Chrome/18 . 0 . 1025 . 166 Safari/535.19
Mozilla/5.0(Linux;u;Android 4 . 0 . 4;en-GB;GT-I 9300 Build/IMM76D)applebwebkit/534.30(KHTML,像Gecko)版本/4.0 Mobile Safari/534.30
Mozilla/5.0(Linux;u;安卓2.2;en-GB;GT-p 1000 Build/FROYO)applebwebkit/533.1(KHTML,像Gecko)版本/4.0 Mobile Safari/533.1
2.火狐浏览器
Mozilla/5.0(Windows NT 6.2;WOW64RV :21.0)Gecko/20100101 Firefox/21.0
Mozilla/5.0(安卓;移动;RV :14.0)Gecko/14.0 Firefox/14.0
3.谷歌Chrome
Mozilla/5.0(Windows NT 6.2;WOW64)applebwebkit/537.36(KHTML,像Gecko)Chrome/27 . 0 . 1453 . 94 Safari/537.36
Mozilla/5.0(Linux;Android 4 . 0 . 4;galaxy Nexus Build/IMM76B)apple WebKit/535.19(KHTML,像壁虎一样)Chrome/18 . 0 . 1025 . 133 Mobile Safari/535.19
4.iOS
Mozilla/5.0(iPad;CPU OS 5_0喜欢Mac OS X)applebwebkit/534.46(KHTML,喜欢Gecko)版本/5.1 Mobile/9a 334 Safari/7534 . 48 . 3
Mozilla/5.0(IPoD;u;像麦克OS X这样的中央处理器;en)applebwebkit/420.1(KHTML,像Gecko)版本/3.0 Mobile/3A101a Safari/419.3
上面列举了Andriod、火狐、谷歌Chrome、iOS的一些用户代理,可以直接复制使用。
第四,使用IP代理。
1.为什么要使用IP代理?
UA已经成立了,但是我们也要考虑一个问题。这个程序运行得非常快。如果我们用爬虫在网站上抓取东西,固定IP的访问频率会很高,这不符合人工操作的标准,因为人工操作不可能在几ms内进行如此频繁的访问,因此有些网站会设置IP访问频率的阈值。如果一个IP访问频率超过了这个阈值,说明这不是一个人访问,而是一个爬虫程序。代理IP选择。
在编写代码之前,在代理IP网站上选择一个IP地址,在这里推荐牛一云代理。他们的产品比较齐全,支持api接口调用和动态转发调用,代理是自营线路和专用电信线路。我的稳定性、可用性、速度和延迟都很好。这里,以他们的动态转发代理为例。动态转发是指他们会给你提供一个固定的ip地址,可以直接配置到程序中使用,不需要自己调用ip或者管理ip池。使用起来超级方便简单,绝对是懒人的最佳选择。
代码示例,这里是以python为例子
1、Python¶
requests
#! -*- encoding:utf-8 -*-
import requests
import random
# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"
# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"
# 代理服务器
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
关于如何使用User Agent和代理IP隐藏身份就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/54362.html