Python网络爬虫之Cookie技术

北京专治荨麻疹医院 http://m.39.net/pf/a_9214235.html

当我们访问一个需要用户名和密码登录的网站(例如某宝)时,只要我们注册好并成功登录后,下次访问该网站时,网站就会记住我们的登录信息,而无需重新登录。我们都知道HTTP协议是无状态的,是不可能对用户名和密码进行记录的,那浏览器或者服务器是怎么做到的?其实,这里面就使用到了一种叫Cookie的技术。

1Cookie是什么?

cookie是指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据。当我们在浏览器内输入url,浏览器会向服务器发送一个HTTP请求,相应的,服务器会响应这个请求,向浏览器返回响应的响应信息。所谓Cookie,可以简单认的为是在浏览器端记录包括登陆状态在内的各种属性值的容器名称,其实就是服务器为了保持浏览器与服务器之间连通状态,而在用户本地上创建的数据。只要用户再一次登陆,服务器会主动地寻找这些预存的数据,而无需再要求像第一次一样的操作。

当客户端首次请求访问服务器时,服务器先在客户端存放包含该客户的相关信息的Cookie,以后客户端每次请求访问服务器时,都会在HTTP请求数据中包含Cookie,服务器解析HTTP请求中的Cookie,就能由此获得关于客户的相关信息。

Cookie数据到底长啥样?打开chrome浏览器,打开豆瓣网站,按F12键进入开发者模式,如下图:

从上图可以看到,其实Cookie数据就是一串代表特殊意义的字符串,具体是由许多个键值对组成。

2Opener与CookieJar

当我们获取一个URL时,就要使用一个opener对象,之前使用的urlopen方法是一个默认的opener,这个默认的opener是不能设置使用Cookie的,也就是说我们必须创建一个更一般的opener来处理Cookie。

在python3.x中,使用的是


转载请注明:http://www.aierlanlan.com/rzdk/3554.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了