python爬虫 隐藏身份及设置代理
User-Agent
当我们使用爬虫访问各大网站时,可能会被网站发现访问者只是一段python写出的代码,从而拒绝我们的访问,如果想要解决这个问题,我们可以去修改user-agent。
首先,我们需要打开我们的浏览器,通过审查元素找到我们的user-agent
一般通过一下两种方法来添加
1.add_headers方法
req = request.Request(url)req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36')
2.设置一个head字典,作为参数传进去
head = {}
head = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}
rep = urllib.request.Request(url, data, head)
延时访问
当我们在同一地址下多次访问时,有可能会被服务器给禁止访问,所以我们可以使用两种方法来解决,一种是延时访问,一种是设置代理
如果需要延时访问,我们只需要在每一次访问后停止一段时间即可,可以使用time模块中的sleep函数来完成
time.sleep(3)
设置代理
我们可以考虑使用代理ip来访问来解决这个问题,对于代理服务器我们可以在google上面随便找一找
我们可以随便找几个代理ip,然后用random模块的choice函数来随机选择
iplist = ['36.25.243.51:80', '59.56.28.199:80', '39.106.223.134:80']
proxy = urllib.request.ProxyHandler({'http':random.choice(iplist)})
如果访问量大的话可以考虑去爬取大量的代理ip
首先我们要创建一个opener
opener = urllib.request.build_opener(proxy)
然后安装这个opener
urllib.request.install_opener(opener)
之后即可通过普通的方式访问了,访问之前可以试试有没有成功用上代理,有很多可以查询自己Ip地址的网站
返回的ip正好是我们表中的第二个代理Ip
当返回的ip和自己设置的代理ip相同时即成功使用代理
import urllib.request
import randomurl = 'http://whatismyip.host/'
iplist = ['36.25.243.51:80', '59.56.28.199:80', '39.106.223.134:80']
proxy = urllib.request.ProxyHandler({'http':random.choice(iplist)})opener = urllib.request.build_opener(proxy)opener.addheaders = [('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36')]
urllib.request.install_opener(opener)response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')print(html)
python爬虫 隐藏身份及设置代理相关推荐
- python爬虫浏览器伪装和设置代理ip
1.python爬虫浏览器伪装 #导入urllib.request模块 import urllib.request#设置请求头 headers=("User-Agent",&quo ...
- python中爬虫隐藏身份的设置
爬虫中我们可以隐藏自己身份的方法: 1)设置user-agent属性 from urllib import request from urllib import parseurl = 'http:// ...
- Python爬虫技巧一之设置ADSL拨号服务器代理
Python爬虫技巧一之设置ADSL拨号服务器代理 https://zhuanlan.zhihu.com/p/25286144
- 关于python爬虫(requests)设置http代理的源码demo
科技不断发展,网络给我们带来了便利,但有时候也会遇到问题,当我们在网络中畅游时,很可能遇到IP受限导致的访问不了这种事情,这个时候我们就需要使用到http代理IP. 那么如何判断自己遇到的是访问受限呢 ...
- Python爬虫:运用多线程、IP代理模块爬取百度图片上小姐姐的图片
Python爬虫:运用多线程.IP代理模块爬取百度图片上小姐姐的图片 1.爬取输入类型的图片数量(用于给用户提示) 使用过百度图片的读者会发现,在搜索栏上输入关键词之后,会显示出搜索的结果,小编想大多 ...
- Python爬虫实战之:快代理搭建IP代理池(简版)
目录 前言 项目背景 项目简介 前期准备 讲解1:项目搭建 讲解2:安装 faker 库获取user-agent 讲解3:分析 "快代理" 页面 讲解4:筛选有效IP 讲解5:Pa ...
- python爬虫隐藏ip_Python3网络爬虫之使用User Agent和代理IP隐藏身份
本文介绍了Python3网络爬虫之使用User Agent和代理IP隐藏身份,分享给大家,具体如下: 运行平台:Windows Python版本:Python3.x IDE:Sublime text3 ...
- 小白学vb还是python_小白学 Python 爬虫(30):代理基础
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(30):代理基础
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
最新文章
- Windows Server 排错和发帖求助必读
- RabbitMQ 6种工作模式
- JS编写一个函数,实现传入一个不定长度字符串,查找出重复次数前n名的字符并分别统计其次数
- 软件测试相关概念与分类
- redis本地及远程登录
- 2021年互联网人才招聘白皮书
- NGINX Plus集成fail2ban进行动态IP黑名单配置
- 怎么退出mysql_如何安全地关闭MySQL
- Ruby On Rails --环境搭建之回眸一笑
- 免费ppt模板在哪下载?轻松get免费ppt模板下载网站
- 西门子PLC S7-1200程序实例,版本博图V15及以上 西门子1200与安川机器人TCP/IP通讯,包含机器人GSD文件
- 欧若科技通过 OpenKG 开放 Nebula Graph 图数据库
- java中excel转jpg_Java中excel转换为jpg/png图片 采用aspose-cells-18.6.jar
- nfc卡模式与标准模式_全功能NFC是什么意思?点对点/读写卡/卡模拟三种模式介绍...
- ANSI C标准库和POSIX库
- login: Could not determine audit condition 解决方案
- 国产麒麟操作系统调用PageOffice在线编辑保存WPS文档
- 20亿行21.3G的文本数据打乱操作只需要2.2G的内存执行19分钟
- 中国版我的世界服务器签到系统指令,《我的世界》服务器签到装置建造教程
- php读书心得体会,读书心得体会
热门文章
- MYBATIS 批量update 报错的问题
- 设计模式之_Strategy_03
- Bootstrap组件1_字体图标
- sdram 时钟相位_stm32f429主频大于160MHz时,sdram数据不稳定
- 基于 DataLakeAnalytics 做跨地域的数据分析 1
- mybatis+dubbo+ springmvc+zookeeper分布式架构
- USB设备被识别流程【转】
- js 对 URL 参数进行 加密 解密
- PHP 文件上传类 FileUpload 高洛峰老师 细说PHP
- Docker镜像与容器命令 专题