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爬虫 隐藏身份及设置代理相关推荐

  1. python爬虫浏览器伪装和设置代理ip

    1.python爬虫浏览器伪装 #导入urllib.request模块 import urllib.request#设置请求头 headers=("User-Agent",&quo ...

  2. python中爬虫隐藏身份的设置

    爬虫中我们可以隐藏自己身份的方法: 1)设置user-agent属性 from urllib import request from urllib import parseurl = 'http:// ...

  3. Python爬虫技巧一之设置ADSL拨号服务器代理

    Python爬虫技巧一之设置ADSL拨号服务器代理 https://zhuanlan.zhihu.com/p/25286144

  4. 关于python爬虫(requests)设置http代理的源码demo

    科技不断发展,网络给我们带来了便利,但有时候也会遇到问题,当我们在网络中畅游时,很可能遇到IP受限导致的访问不了这种事情,这个时候我们就需要使用到http代理IP. 那么如何判断自己遇到的是访问受限呢 ...

  5. Python爬虫:运用多线程、IP代理模块爬取百度图片上小姐姐的图片

    Python爬虫:运用多线程.IP代理模块爬取百度图片上小姐姐的图片 1.爬取输入类型的图片数量(用于给用户提示) 使用过百度图片的读者会发现,在搜索栏上输入关键词之后,会显示出搜索的结果,小编想大多 ...

  6. Python爬虫实战之:快代理搭建IP代理池(简版)

    目录 前言 项目背景 项目简介 前期准备 讲解1:项目搭建 讲解2:安装 faker 库获取user-agent 讲解3:分析 "快代理" 页面 讲解4:筛选有效IP 讲解5:Pa ...

  7. python爬虫隐藏ip_Python3网络爬虫之使用User Agent和代理IP隐藏身份

    本文介绍了Python3网络爬虫之使用User Agent和代理IP隐藏身份,分享给大家,具体如下: 运行平台:Windows Python版本:Python3.x IDE:Sublime text3 ...

  8. 小白学vb还是python_小白学 Python 爬虫(30):代理基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  9. 小白学 Python 爬虫(30):代理基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

最新文章

  1. Windows Server 排错和发帖求助必读
  2. RabbitMQ 6种工作模式
  3. JS编写一个函数,实现传入一个不定长度字符串,查找出重复次数前n名的字符并分别统计其次数
  4. 软件测试相关概念与分类
  5. redis本地及远程登录
  6. 2021年互联网人才招聘白皮书
  7. NGINX Plus集成fail2ban进行动态IP黑名单配置
  8. 怎么退出mysql_如何安全地关闭MySQL
  9. Ruby On Rails --环境搭建之回眸一笑
  10. 免费ppt模板在哪下载?轻松get免费ppt模板下载网站
  11. 西门子PLC S7-1200程序实例,版本博图V15及以上 西门子1200与安川机器人TCP/IP通讯,包含机器人GSD文件
  12. 欧若科技通过 OpenKG 开放 Nebula Graph 图数据库
  13. java中excel转jpg_Java中excel转换为jpg/png图片 采用aspose-cells-18.6.jar
  14. nfc卡模式与标准模式_全功能NFC是什么意思?点对点/读写卡/卡模拟三种模式介绍...
  15. ANSI C标准库和POSIX库
  16. login: Could not determine audit condition 解决方案
  17. 国产麒麟操作系统调用PageOffice在线编辑保存WPS文档
  18. 20亿行21.3G的文本数据打乱操作只需要2.2G的内存执行19分钟
  19. 中国版我的世界服务器签到系统指令,《我的世界》服务器签到装置建造教程
  20. php读书心得体会,读书心得体会

热门文章

  1. MYBATIS 批量update 报错的问题
  2. 设计模式之_Strategy_03
  3. Bootstrap组件1_字体图标
  4. sdram 时钟相位_stm32f429主频大于160MHz时,sdram数据不稳定
  5. 基于 DataLakeAnalytics 做跨地域的数据分析 1
  6. mybatis+dubbo+ springmvc+zookeeper分布式架构
  7. USB设备被识别流程【转】
  8. js 对 URL 参数进行 加密 解密
  9. PHP 文件上传类 FileUpload 高洛峰老师 细说PHP
  10. Docker镜像与容器命令 专题