python spider cookie

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import urllib
import urllib2
import cookielib

# 1、通过CookieJar()类构建一个cookieJar()对象,用来保存cookie的值
cookie = cookielib.CookieJar()

# 2、通过HTTPCookieProcessor()处理器类构建一个处理器对象,用来处理cookie
# 参数就是构建的CookieJar()对象
cookie_handler = urllib2.HTTPCookieProcessor(cookie)

# 3、构建一个自定义的opener
opener = urllib2.build_opener(cookie_handler)

# 4、通过自定义opener的addheaders的参数,可以添加HTTP报头参数
opener.addheaders = [(
  "User-Agent", 
  "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"
)]

# 5、设置需要登录的账户密码
data = {
  "email":"mr_mao_hacker@163.com", 
  "password":"alarmchime"
}

# 6、通过urlencode()编码转换
data = urllib.urlencode(data)

# 7、第一次是post请求,发送登录需要的参数,获取服务器响应返回的cookie键值对参数
request = urllib2.Request(
  "http://www.renren.com/PLogin.do",
  data = data
)

# 8、发送第一次的post请求,生成登录后的cookie(如果登录成功的话)
response = opener.open(request)

# 9、第二次可以是get请求,这个请求将保存生成cookie一并发到web服务器,服务器会验证cookie通过
response_deng = opener.open("http://www.renren.com/410043129/profile")

# 10、获取登录后才能访问的页面信息
print response_deng.read()
  • 1、第一次发送POST请求,获取响应头Cookie值,保存到本地
  • 2、第二次后续都发送GET请求,直接读取本地保存的Cookie,拼接到请求头中
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容