使用User Agent和代理IP隐藏身份

  一、为何要设置User Agent

  有一些网站不喜欢被爬虫程序访问,所以会检测连接对象,如果是爬虫程序,也就是非人点击访问,它就会不让你继续访问,所以为了要让程序可以正常运行,需要隐藏自己的爬虫程序的身份。此时,我们就可以通过设置User Agent的来达到隐藏身份的目的,User Agent的中文名为用户代理,简称UA。

  User Agent存放于Headers中,服务器就是通过查看Headers中的User Agent来判断是谁在访问。在Python中,如果不设置User Agent,程序将使用默认的参数,那么这个User Agent就会有Python的字样,如果服务器检查User Agent,那么没有设置User Agent的Python程序将无法正常访问网站。

  Python允许我们修改这个User Agent来模拟浏览器访问,它的强大毋庸置疑。

  二、常见的User Agent

  1.Android

  Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19

  Mozilla/5.0 (Linux; U; Android 4.0.4; en-gb; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30

  Mozilla/5.0 (Linux; U; Android 2.2; en-gb; GT-P1000 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

  2.Firefox

  Mozilla/5.0 (Windows NT 6.2; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0

  Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0

  3.Google Chrome

  Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36

  Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19

  4.iOS

  Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3

  Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A101a Safari/419.3

  上面列举了Andriod、Firefox、Google Chrome、iOS的一些User Agent,直接copy就能用。

  四、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

  以上是python的代理添加示例,如果是其他的语言编写的可以去官网看下相应的接入指南 www.16yun.cn


转载于:https://juejin.im/post/5cff4bd1e51d45508c2fb829

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
进阶教程看:https://download.csdn.net/download/dwf1354046363/20818516 1 爬虫基本概述2 1.1 爬虫是什么. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 爬虫可以做什么. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 爬虫的分类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 爬虫的基本流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4.1 浏览网页的流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4.2 爬虫的基本流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 爬虫与反爬虫. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5.1 爬虫的攻与防. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5.2 常见的反爬与反反爬. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.6 爬虫的合法性与robots 协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.6.1 robots 协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.6.2 查看网页的robots 协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.7 Python 爬虫相关库 2 Chrome 浏览器开发者工具10 2.1 Chrome 浏览器开发者工具简述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 什么是浏览器开发者工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 浏览器开发者工具基本使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2 浏览器开发者工具面板说明. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.1 元素(Elements) 面板. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 网络(Network) 面板(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.3 网络(Network) 面板(2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 HTTP 协议16 3.1 HTTP 简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User-Agent池是一种用于在爬虫中随机生成不同User-Agent的工具。User-Agent是一串字符串,相当于浏览器的身份证号码,用于标识发送HTTP请求的客户端。使用User-Agent池可以避免频繁访问网站时被识别为爬虫并触发反爬机制。通过随机选择不同的User-Agent,可以模拟不同的浏览器和操作系统,使请求看起来更像是来自真实的用户。这样,爬虫可以更好地隐藏自己的身份,提高数据采集的成功率。在Python爬虫中,可以使用不同的库或模块来实现User-Agent池的功能,比如在requests库中,可以通过设置headers参数来自定义User-Agent。此外,还可以使用第三方库,如fake_useragent,来自动获取和切换User-Agent。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python爬虫伪装,请求头User-Agent池,和代理IP池搭建使用](https://blog.csdn.net/weixin_52270081/article/details/127507991)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [【Python】【进阶篇】三、Python爬虫的构建User-Agnet代理池](https://blog.csdn.net/NQBXHN/article/details/129943463)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值