Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >爬虫中正确使用User Agent和代理IP的方式

爬虫中正确使用User Agent和代理IP的方式

原创
作者头像
小白学大数据
发布于 2022-12-30 08:38:56
发布于 2022-12-30 08:38:56
7590
举报
文章被收录于专栏:python进阶学习python进阶学习

一、为何要设置User Agent

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来模拟浏览器访问,它的强大毋庸置疑。

二、常见的

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的代理添加示例

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python(三)User Agent
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
py3study
2020/01/15
7020
Python3网络爬虫(四):使用User Agent和代理IP隐藏身份
本文介绍了如何利用Python的requests库和BeautifulSoup库,对给定的网页进行抓取,获取到网页中的一些信息,并对这些信息进行解析和处理。具体实现包括利用requests库发起HTTP请求,获取到网页的HTML内容;利用BeautifulSoup库对HTML内容进行解析,提取出所需的信息;以及对提取的信息进行格式化处理。最后,介绍了如何使用代理IP池和自定义User-Agent池来对爬虫程序进行伪装,避免被网站发现。
Jack_Cui
2018/01/08
2.3K0
Python3网络爬虫(四):使用User Agent和代理IP隐藏身份
浏览器User-Agent大全
HttpHeader之User-Agent UserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。UA可以进行伪装。 浏览器的UA字串的标准格式:浏览器标识(操作系统标识;加密等级标识;浏览器语言)渲染引擎标识版本信息。但各个浏览器有所不同。 字串说明: 1、浏览器标识 出于兼容及推广等目的,很多浏览器的标识相同,因此浏览器标识并不能说明浏览器的真实版本,真实版本信息在UA字串尾部可以找到。 2、操作系统标识
用户1214487
2018/08/09
6.7K0
两个绕过网站反爬机制的方式
在日常爬取网站的时候,我们经常会遇到一个问题,就是很多网站上都部署了反爬虫机制,当服务器检测到一段时间内同一个 IP 持续密集的访问网站,则将其判定为爬虫程序,在一段时间内不允许该 IP 地址访问服务器。
小白学大数据
2023/05/15
1.1K0
User-agent大全
一、基础知识篇: Http Header之User-Agent User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标 识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的 UA来判断的。UA可以进行伪装。 浏览器的UA字串的标准格式:浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识版本信息。但各个浏览器有所不同。
大牧莫邪
2018/08/27
2.7K0
ChatGPT爆火,推动芯片行业解除“寒冬”
近一年多来,半导体行业几乎是处于“寒风”状态,素有 " 半导体行业风向标 " 之称的存储芯片,在需求破灭与库存高企的多重因素下,更是遭受着有史以来最严重的挫败,迟迟看不到回暖的迹象。
小白学大数据
2023/02/24
2040
爬虫系列-User-Agent(用户代理)是什么以及如何构建User-Agnet代理池
网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。
用户10002156
2023/08/07
3.9K0
爬虫系列-User-Agent(用户代理)是什么以及如何构建User-Agnet代理池
常用User Agent整理
采集什么的喜欢这个了。 OLD N97 Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124 BlackBerry - Playbook 2.1 Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-U
老高的技术博客
2022/12/27
8040
BeautifulSoup的基本功能介绍
在日常爬虫工作中会遇到很多数据对比的测试任务,在后端接口有做数据加密,或接口有做鉴权等情况下,我们再从后端去取参数,耗费的时间成本就会增加。网上查了下,我们可以通过走前端页面上去获取数据,简单学习了下,居然可以使用requests + BeautifulSoup 以及其他一些工具包来实现该功能。
小白学大数据
2023/03/10
4140
爬虫之UserAgent
UserAgent简介 UserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。UA可以进行伪装。  浏览器的UA字串的标准格式:浏览器标识(操作系统标识;加密等级标识;浏览器语
人生不如戏
2018/05/30
1.2K0
python爬虫库之Requests
虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更简洁方便。所以今天我们来重点了解下这个库。
小白学大数据
2023/06/21
2280
爬虫正传-江湖路远-0102-少侠师承何处
少侠初入江湖,尚不知江湖险恶,入门级别的爬虫很快就被人识破,并对爬虫程序的发起IP地址进行了封锁 WHY?因为少侠不知江湖套路,爬虫程序在网络上直接裸奔,只要是个人都能抓包请求就能查到,不收拾你收拾谁? 为什么少侠就是这么点背,没有开始就出现了结束呢?这一切的一切,都是因为少侠身上一个特殊的身份标记:User-agent: Python-urllib/2.7
大牧莫邪
2018/08/27
6700
python怎么使用代理ip池(如何利用爬虫ip代理池赚钱)
初次学习python爬虫的朋友在频繁访问被爬取页面网站时都会被拦截,也就是限制ip。这里教教大家建立代理ip池。
全栈程序员站长
2022/07/28
5910
Python 简单应对反爬虫
现在我们介绍的是不花钱的免费代理IP池。原理很简单,大家去百度或者谷歌搜索免费代理IP总能搜到几个可用的免费代理IP,有些是付费代理IP网站免费放出一两个来给大家试用的,但是一两个代理IP还是不够用的,至少得有十几个才够我们轮换使用,这时候就有好心人将全网大部分释放免费代理IP的网站给爬了,然后设定一个定时检查器,不断检查这些免费IP是否可用,不能用的就移除,能用的保留,相当于维护了一个可用IP池,这样每次爬虫发起请求时,就从IP池取一个使用。
arcticfox
2019/06/26
9650
分析反(反爬虫) 用不完的遍布世界的毫秒级代理IP
不管是re解析也好,xpath也好,还是Beautiful Soup,返回的list 都是每个标签的的内容占一个元素
wo.
2021/06/15
8450
分析反(反爬虫) 用不完的遍布世界的毫秒级代理IP
Scrapy之设置随机User-Agent和IP代理
大多数情况下,网站都会根据我们的请求头信息来区分你是不是一个爬虫程序,如果一旦识别出这是一个爬虫程序,很容易就会拒绝我们的请求,因此我们需要给我们的爬虫手动添加请求头信息,来模拟浏览器的行为,但是当我们需要大量的爬取某一个网站的时候,一直使用同一个User-Agent显然也是不够的,因此,我们本节的内容就是学习在scrapy中设置随机的User-Agent。Scrapy中设置随机User-Agent是通过下载器中间件(Downloader Middleware)来实现的。
菲宇
2022/05/06
1.2K0
Scrapy之设置随机User-Agent和IP代理
应对反爬之前先懂什么是网站反爬
爬虫的出现是大数据时代的必然产物,是各行各业数据分析必不可少的存在。爬虫就像一个虫子密密麻麻地爬行到每一个角落获取数据,虫子或许无害,但总是不受欢迎的。
小白学大数据
2023/05/04
3040
Python中User-Agent的重要作用及实际应用
User-Agent是HTTP协议中的一个重要字段,用于标识发送请求的客户端信息。在Python中,User-Agent的作用至关重要,它可以影响网络请求的结果和服务器端的响应。将介绍User-Agent在Python中的重要作用,并结合实际案例展示其应用。
小白学大数据
2024/01/04
6850
scrapy 爬虫学习二[中间件的学习]
scrapy源码解析参考连接:https://www.jianshu.com/p/d492adf17312 ,直接看大佬的就行了,这里便就不多说了。
py3study
2020/01/15
4350
scrapy 爬虫学习二[中间件的学习]
Python中User-Agent的重要作用及实际应用
User-Agent是HTTP协议中的一个重要字段,用于标识发送请求的客户端信息。在Python中,User-Agent的作用至关重要,它可以影响网络请求的结果和服务器端的响应。将介绍User-Agent在Python中的重要作用,并结合实际案例展示其应用。
小白学大数据
2024/06/08
3200
相关推荐
python(三)User Agent
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档