python爬虫-05-python爬虫代理,python爬虫如何携带cookie呢,本文带你掌握

1、python爬虫代理

使用python爬虫高频率的访问一个固定的网站的话,容易触发该目的网站的反爬机制,将你对应的IP地址进行封禁,那么这个时候我们可以通过代理的方式,让目的网站无法识别到是哪一个IP地址访问的。

(1)检测网站

我们在测试的时候,如何知道我们是通过代理访问的呢?这个时候我们需要使用一个检测网站,地址如下:

http://httpbin.org/

图片

这个网站就是专门用来做检测用的,他有多种访问形式,可以来返回我们所需要的不同信息;

它也提供了各种访问的demo,如下:

图片

(2)有哪些好用的代理

如果可以自己购买几个IP地址,自己搭建代理是最合适的;当然了,也可以去选用第三方的,如下几个有收费的也有免费的,如果要保证可用性,当然是使用收费的更好了,因为免费的不止是你在用,有很多很多人都在用;

西刺免费代理IP:http://www.xicidaili.com/
快代理:http://www.kuaidaili.com/
代理云:http://www.dailiyun.com/

我们这里使用快代理的免费代理,界面如下:

图片

(3)实操

上面我们了解了如何检测python使用是否使用代理,以及python爬虫使用什么代理,这两个问题了解之后,我们就要将其结合起来了。

(3.1)在没有使用代理之前

输入:

from urllib import request
jier = request.urlopen('http://httpbin.org/get')
print(jier.read().decode('utf-8'))

输出:

{
  "args": {}, 
  "headers": {
    "Accept-Encoding": "identity", 
    "Host": "httpbin.org", 
    "User-Agent": "Python-urllib/3.9", 
    "X-Amzn-Trace-Id": "Root=1-627fb6b9-12d3af8c6840430e3e71b01c"
  }, 
  "origin": "118.186.2.238", 
  "url": "http://httpbin.org/get"
}

可以看到输出的内容中有一个origin,这就是我们在没有使用代理前的IP地址;

(3.2)使用代理之后

输入:

from urllib import request

jier = request.ProxyHandler({'http': '183.236.123.242:8060'})
suner = request.build_opener(jier)
Reqs = request.Request('http://httpbin.org/get')
Reqs_2 = suner.open(Reqs)
print(Reqs_2.read().decode('utf-8'))

输出:

{
  "args": {}, 
  "headers": {
    "Host": "httpbin.org", 
    "User-Agent": "Python-urllib/3.9", 
    "X-Amzn-Trace-Id": "Root=1-627fb85c-64d4af1a3c691fd43e956e56"
  }, 
  "origin": "183.236.123.242", 
  "url": "http://httpbin.org/get"
}

可以看到,返回信息中的origin就已经变成了我们的代理IP地址,说明我们使用代理是成功访问到目的地址了。

2、什么是cookie

我们知道,访问网站的时候大多数都是需要带cookie的,为什么要有这个呢?其实可以理解成我们在这个网站的临时身份证,为什么是说是临时的呢,因为cookie是存在有效期的,这个有效期各个网站都是不同的,要取决于这个网站本身。

而且,有很多网站都是需要登录才可以的,那么你使用用户名和密码进行登录,网站校验通过之后,就会给你返回一个cookie,这样子在你接下来的固定时间内,你再该网站的所有操作,都是携带着cookie来进行的。

我们通过上面的内容,对cookie有一个简单的认识之后,就了解下cookie都包含了什么吧:

Set-Cookie: NAME=VALUE;Expires/Max-age=DATE;Path=PATH;Domain=DOMAIN_NAME;SECURE

参数示意:

  • NAME:cookie的名字

  • VALUE:cookie的值

  • Expires:cookie的过期时间,当超过该时间之后,这个cookie就失效了

  • Path:cookie作用的路径

  • Domain:cookie作用的域名,比如显示的是.baidu.com,就说明你可以访问这个父域名下的所有子域名,如果显示的是123.baidu.com,那就就表示你这个cookie只能访问这个子域名下的内容,当你切换不同域名的时候,你这个cookie就失效了

  • SECURE:是否仅在https协议下起作用

例如,我们访问百度的时候,cookie截图如下:

图片

3、通过带上cookie的方式访问网站

当我们访问某些需要登录才能访问到指定用户名密码的时候,就需要我们携带cookie才能访问了,这个时候我们可以先用浏览器登录上,并访问下指定页面,检查下他携带的cookie信息是什么,然后将其cookie复制出来,放到我们的代码中,如下代码示例:
剩余内容请转至VX公众号 “运维家” ,回复 “168” 查看。

------ “运维家” ,回复 “168” ------
------ “运维家” ,回复 “168” ------
------ “运维家” ,回复 “168” ------

linux卸载硬盘,win7共享linux,linuxgdal安装,Linux7忘记密码,linux怎么进入文件的子目录,高通开源代码linux,linuxusr大小,重启服务器的linux命令,linux的jdk怎么安装啊;
linuxtar文件打不开,linux常用状态检测,linux成功开机界面,linux七种文件,linux命令死机,Linux+删除数据的命令,linux自动监听重启服务器,如何快速担任linux运维,Linux返回到波浪线,linux大数据架构搭建,分析linux被攻击。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值