python中爬虫隐藏身份的设置
爬虫中我们可以隐藏自己身份的方法:
1)设置user-agent属性
from urllib import request
from urllib import parseurl = 'http://www.baidu.com'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}
req = request.Request(url,headers=header)
#req = request.Reauest(url)
#req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36')
response = request.urlopen(req)
print (response.read().decode('utf-8'))
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
urlopen函数中可以接受这些内容,或者一个Request对象,如果是Request对象的话:
urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
2)使用代理ip
我们在这里需要将代理ip的格式设置成如下:
proxy = {'https':'112.251.212.91:8118'}
from urllib import request
from urllib import parseurl = 'http://www.whatismyip.com.tw/'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}
req = request.Request(url,headers=header)proxy = {'https':'42.235.122.52:8118'}
handler = request.ProxyHandler(proxy)
opener = request.build_opener(handler)
#直接取代默认的opener,以后使用urlopen方法就是使用的新的opener
request.install_opener(opener)
#如果不想替换之间的opener的话,那就可以直接使用opener.opener(url)response = request.urlopen(req)
print (response.read().decode('utf-8'))
代理ip我们判断是否可用我们可以设置timeout参数,可以参见: 如何获取可用ip
3)设置Cookie
from urllib import request
from urllib import parse
from http import cookiejar#声明一个CookieJar保存coolie
cookie = cookiejar.CookieJar()
handler = request.HTTPCookieProcessor(cookie)
#创建opener
opener = request.build_opener(handler)
request.install_opener(opener)response = request.urlopen('http://www.baidu.com')for item in cookie:print (item.name,item.value)
模拟登陆(没有验证码的时候Cookie还是很好用的,验证码的情况可以在 https://github.com/ 看一下py大神们的识别程序)
python中爬虫隐藏身份的设置相关推荐
- python爬虫 隐藏身份及设置代理
User-Agent 当我们使用爬虫访问各大网站时,可能会被网站发现访问者只是一段python写出的代码,从而拒绝我们的访问,如果想要解决这个问题,我们可以去修改user-agent. 首先,我们需要 ...
- Python中爬虫框架或模块的区别
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...
- Python中爬虫框架或模块的区别!
Python中爬虫框架或模块的区别,我们在Python的学习过程中,需要不断的总结知识点,这样我们才能进步的更快一些. (1)爬虫框架或模块 Python自带爬虫模块:urllib.urllib2; ...
- python中turtle隐藏画笔_python中Turtle的画笔命令有哪些?
一.画笔 1.画笔运动的命令 turtle.forward(a) 向当前画笔方向移动a像素长度 turtle.backward(a) 向当前画笔相反方向移动a像素长度 turtle.right(a) ...
- python竖着输出编码_在Python中使用管道标准输出时设置正确的编码
繁花不似锦 在脚本中运行时,代码可以工作,因为Python将输出编码为终端应用程序使用的任何编码.如果你是管道,你必须自己编码.经验法则是:始终在内部使用Unicode.解码你所收到的,并对你发送的内 ...
- python 设置精度_在python中以全微秒精度设置文件的mtime
您已经设置了完整的微秒.微表示百万分之一: .248965是248965微秒. .248965866是248965866纳秒. 当然,它也是248965.866微秒,但是Python在每个平台上用来设 ...
- python中wx是啥_设置wx.框架大小(wxPython wxWidgets)
我是wxPython新手,在设置框架和窗口(widgets)的给定大小时,我发现了一些问题.我把这个问题隔离到一个最简单的例子中,我试图创建一个250x250像素的帧.在 运行代码我得到一个实际尺寸为 ...
- python中figsize什么意思_matplotlib 设置图形大小时 figsize 与 dpi 的关系
matplotlib 中设置图形大小的语句如下: fig = plt.figure(figsize=(a, b), dpi=dpi) 其中: figsize 设置图形的大小,a 为图形的宽, b 为图 ...
- python中爬虫程序提问,python爬虫(二)爬取知乎问答
都说知乎上问答的质量挺高,刚学爬虫没几天,现在对其问答内容进行爬虫实验. 在知乎首页,通过输入关键词,搜索问题,之后点击问题找到该问题对应的网友回答. 根据该过程,爬虫过程需要分为两步: 1.通过关键 ...
最新文章
- c语言怎样在不足n位数的整数前补0,C# String 前面不足位数补零的方法
- eclipse如何设置去除全部断点的快捷键
- leetcode算法题--最小的k个数
- WDS配置时遇到的问题
- Go 支持Protocol Buffers的配置
- 构造函数和析构函数能不能是虚函数
- 最小生成树(prim算法)
- Rushcrm:CRM系统怎么让企业如此青睐?
- 基础训练(六~十)题解
- 怎么提前体验鸿蒙,鸿蒙OS手机版明天发布,开发者提前体验,上手操作毫无难度...
- 网络工程师Day2---实验2-1:HDLC和PPP配置
- 联想ts250进bios_联想Think TS250完美安装server 2008 R2 | 涂涂小窝
- 8、项目管理基础知识
- logstash~filter.mutate插件使用教程(附带示例)
- freeswitch配置软电话
- 【华人学者风采】周亚金 浙江大学
- 【Jekyll】使用GitHub Pages + Jekyll搭建自己的技术博客,Jekyll服务器的搭建
- 关于语音特征提取(MFCC)的matlab相关函数
- win11激活office出问题
- 上海某大型企业因盗版Catia被罚千万