爬虫(cookie)——renren模拟登陆
工具:python3
步骤:
1)使用cookiejar.CookieJar()构建一个CookieJar()构建一个对象,用来保存cookie的值
2)使用HTTPCookieProcessor()构建一个处理器对象,用来处理cookie
3)使用build_opener构建自定义opener
4))使用opener的addheaders参数添加请求头参数
5)构造url和data
6)使用Request()构造请求
7)使用opener.open()发送请求
8)读取响应信息
import urllib.request
from http import cookiejar # 通过CookieJar()类构建一个cookieJar()对象,用来保存cookie的值
cookie = cookiejar.CookieJar() # 通过HTTPCookieProcessor()处理器类构建一个处理器对象,用来处理cookie
cookie_handler = urllib.request.HTTPCookieProcessor(cookie) # 构建一个自定义的opener
opener = urllib.request.build_opener(cookie_handler) # 通过opener的addheaders参数可以添加HTTP报头参数,参数为元组类型
opener.addheaders = [("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36")] # renren网的登录接口
url = "http://www.renren.com/PLogin.do" # 需要登陆的账户密码
data = {"email":"xxx", "password": "xxx"} data = urllib.parse.urlencode(data)
# data = bytes(data, encoding="utf8") # 第一次是post请求,发送登陆需要的参数,获取cookie
request = urllib.request.Request(url, data=data) # 发送第一次的post请求,生成登录后的cookie
response = opener.open(request)
response = response.read()
response = response.decode("utf-8") with open("renren.html","w") as f:
f.write(str(response))
爬虫(cookie)——renren模拟登陆的更多相关文章
- 【Python爬虫】教务处模拟登陆
Python2模拟登陆获取cookie import urllib import urllib2 import cookielib filename = 'cookie.txt' #声明一个Mozil ...
- Go -- client 302 自动转 200 问题 cookie存储 模拟登陆问题
不久前用go写了个http client,去模拟某网站(*.com)的登录操作.网站的登录逻辑:1.验证登录账号和密码:2.下发token.此token通过cookie下发:3.redirect到主页 ...
- 【小白学爬虫连载(10)】–如何用Python实现模拟登陆网站
Python如何实现模拟登陆爬取Python实现模拟登陆的方式简单来说有三种:一.采用post请求提交表单的方式实现.二.利用浏览器登陆网站记录登陆成功后的cookies,采用get的请求方式,传入c ...
- Scrapy 中的模拟登陆
目前,大部分网站都具有用户登陆功能,其中某些网站只有在用户登陆后才能获得有价值的信息,在爬取这类网站时,Scrapy 爬虫程序先模拟登陆,再爬取内容 1.登陆实质 其核心是想服务器发送含有登陆表单数据 ...
- 通过cookies信息模拟登陆
import requests # 这个练习演示的是通过传入cookie信息模拟登陆,这样操作的前提是需要预先在浏览器登陆账户抓包得到cookie字段信息 url = "http://www ...
- 爬虫之 cookie , 验证码,模拟登陆,线程
需求文档的定制 糗事百科的段子内容和作者(xpath的管道符)名称进行爬取,然后存储到mysql中or文本 http://sc.chinaz.com/jianli/free.html爬取简历模板 HT ...
- 爬虫入门之scrapy模拟登陆(十四)
注意:模拟登陆时,必须保证settings.py里的COOKIES_ENABLED(Cookies中间件) 处于开启状态 COOKIES_ENABLED = True或# COOKIES_ENABLE ...
- Python 爬虫模拟登陆知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- python爬虫 模拟登陆校园网-初级
最近跟同学学习爬虫的时候看到网上有个帖子,好像是山大校园网不稳定,用py做了个模拟登陆很有趣,于是我走上了一条不归路..... 先上一张校园网截图 首先弄清一下模拟登陆的原理: 1:服务器判定浏览器登 ...
随机推荐
- ES忽略TF-IDF评分——使用constant_score
Ignoring TF/IDF Sometimes we just don’t care about TF/IDF. All we want to know is that a certain wor ...
- C#高性能Socket服务器SocketAsyncEventArgs的实现(IOCP)
网址:http://blog.csdn.net/zhujunxxxxx/article/details/43573879 引言 我一直在探寻一个高性能的Socket客户端代码.以前,我使用Socket ...
- Ajax处理后台返回的Json数据
// 处理后台传来的Json字符串装换成Json对象 var dataJson = JSON.parse(data); // 此时可以从Json对象中取值 if(dataJson.result == ...
- zero to one(1)
How to google 这两天把之前的过期的账号重新弄了一下,在vutrl上的账号,普通的话现在2.5$只提供ipv6地址,如果是想google我觉得这个应该没有什么问题,或者可以买***的账号, ...
- MySQL当月负毛利订单明细_20161027
#当月每天负毛利订单明细 SELECT c.ID,a.city AS 城市,a.username AS 用户ID,a.订单日期,a.订单号,a.销售确认额,a.成本额,a.毛利1, CASE THEN ...
- ACM学习历程—HDU 1059 Dividing(dp && 多重背包)
Description Marsha and Bill own a collection of marbles. They want to split the collection among the ...
- 【前端】jQuery DataTables 使用手册(精简版)
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/5182940.html 前排提醒,这个插件能不用就不用,那么多好的插件等着你,为什么要用它呢?就算用easyui的 ...
- NFS安装
安装应用 yum install -y nfs-utils rpcbind 服务器端: 1.启动服务 service nfs start service rpcbind start 2. 编辑 ...
- Vmware ESXi 6.5 安装手册
1 安装前准备 1.1 硬件环境准备 无 备注: 本指导书以虚拟光驱.虚拟软驱为例,如使用物理光驱.物理软驱安装系统操作则以实际系统光盘.软盘代替. 1.2 ...
- 10 Vue 学习 shortList页面
1: shortList页面代码如下: <template> <div class="fillcontain"> <head-top></ ...