有时候,我们在爬取一些网页之前必需要登录该网站,比如说我想爬取我的人人网主页内容。

1、打开:www.renren.com

2、输入用户名和密码,登录网站18679030315

3、个人首页,如下图:

那么直接请求:http://www.renren.com/964508591/profile 可不可以呢?我们试一下。

  打印出来的东西没有获取到个人信息,通过上述代码,我们请求到的数据其实是人人网首页的数据,这跟我们“平时浏览一些内容的时候,网页自动跳转到登录页”的情况是一样的。

  那么如何在爬取“个人主页”的信息呢?这个时候我们需要加一些身份信息,在哪儿加?在Cookie。Cookie中保存了用户的登录状态。

复制Cookie信息,添加到headers中,然后再发起请求:

代码:

输出结果:

将显示个人信息,表示请求到我想要的数据了。

代码如下:

import requests

# 定义爬取url地址
base_url = 'http://www.renren.com/964508591/profile' # 定义headers,cookie保存了登录信息(用户名和密码)
headers = {
"Cookie": "anonymid=jsfnsdta-9wkx8y; "
"depovince=GW; "
"jebecookies=8b9ae51c-9f33-4411-91e1-8cf089c4038b|||||; "
"_r01_=1; "
"JSESSIONID=abcSP3j-rLG5T4RFC1tKw; "
"ick_login=3aa429d9-fef7-4f32-87f0-6bed6e39881a; "
"_de=5F71EE4FAB787F2D9124C42004FCABA0; "
"p=9f3825923c315bb6a9600ef5179d781f1; "
"first_login_flag=1; "
"ln_uact=18679030315; "
"ln_hurl=http://head.xiaonei.com/photos/0/0/men_main.gif; "
"t=c516b899cbe52eb456b80bd3a71771611; "
"societyguester=c516b899cbe52eb456b80bd3a71771611; id=964508591; "
"xnsid=ec298a5b; "
"ver=7.0; "
"loginfrom=null; "
"jebe_key=0c6ad138-7b82-45f2-98af-653a8c1fbd41%7C8562fb69c05d6f5ab11983a626d37548%7C1550816017179%7C1%7C1550816017961; "
"wp_fold=0"
} # 发起携带cookie的请求
response = requests.get(base_url, headers=headers)
print(response.text)

获取Cookies 和 Sission来请求

1、Cookies

如果一个响应中包含了cookie,那么我们可以利用 cookies参数拿到:

代码如下:

import requests

# 定义爬取url地址
base_url = 'Https://www.baidu.com/' # 发起请求
response = requests.get(base_url) # 获取cookie
cookiejar = response.cookies # 从cookiejar中获取cookie信息
cookie = requests.utils.dict_from_cookiejar(cookiejar) print(cookie)

2、Session

  在 requests 里,session对象是一个非常常用的对象,这个对象代表一次用户会话:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开。

  会话能让我们在跨请求时候保持某些参数,比如在同一个 Session 实例发出的所有请求之间保持 cookie 。

  每次通过查找cookie很麻烦,需要复制粘贴,所以使用sessio来完成登录,只需要用户账号和密码就可以。

代码如下:

import requests

# 创建session对象
session = requests.session() # 定义账号和密码
data = {'email':'xxxxxx','密码':'xxxxxx'} # 将账号和密码写入session中
session.post('http://www.renren.com/PLogin.do', data=data) # 使用含有账号和密码的session发起请求
response = session.get('http://www.renren.com/964508591/profile') print(response.text)

人人网(cookie登录)的更多相关文章

  1. 爬虫模拟cookie自动登录(人人网自动登录)

    什么是cookie? 在网站中,HTTP请求时无状态的,也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是谁,cookie的出现就是为了解决这个问题,第一次登陆后服 ...

  2. Java爬虫——人人网模拟登录

    人人网登录地址:http://www.renren.com/ 此处登录没有考虑验证码验证码. 首先对登录方法进行分析 有两种方法. 一)在Elements中分析源码 发现登录点击后的事件是http:/ ...

  3. JMeter学习-018-JMeter 配置元件之-HTTP信息头管理器-实现 Cookie 登录

    之前写过一篇通过[HTTP Cookie管理器]实现登录态操作的文章,使用时需要配置每个键值对(如下图所示),相对来讲配置比较繁琐.其实,我们也可通过在[HTTP信息头管理器]添加 Cookie 信息 ...

  4. JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录

    前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息.参阅上篇文章,获取到 Cookie ...

  5. Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  6. python3爬虫 - 利用浏览器cookie登录

    http://blog.csdn.net/pipisorry/article/details/47980653 爬虫爬网站不免遇到需要登录的问题. 登录的时候可能还会碰到需要填验证码的问题, 有的验证 ...

  7. python3爬虫 - cookie登录实战

    http://blog.csdn.net/pipisorry/article/details/47948065 实战1:使用cookie登录哈工大ACM网站 获取网站登录地址 http://acm.h ...

  8. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-12基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  9. vc++使用cookie登录网站

    以http://www.idc816.com为例 效果图: 1)先登录获取cookie,再使用cookie获取用户信息 2)记录cookie,关闭程序后重新运行程序,直接获取用户信息 使用Fiddle ...

  10. python爬虫-使用cookie登录

    前言: 什么是cookie? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想 ...

随机推荐

  1. System.getProperty("user.dir")

    /**获得当前类的完整路径.最后一句*/package test;import java.net.MalformedURLException;import java.net.URI;import ja ...

  2. 经典的js返回(退个页面)

    <a href="javascript:history.back()">返回</a> <a href="javascript:window. ...

  3. spring框架中的注解

  4. [django]django查询最佳实战

    from django.db.models import Max, Min, Sum, Avg, Count, Q, F Django中的F和Q函数 一.F介绍 作用:操作数据表中的某列值,F()允许 ...

  5. [wx]雪落香杉树人物关系图

    雪落香杉树 开始的时候场面比较宏大,出场的人比较多.加上外国人名字没辨识度,所以容易乱 被告人: 宫本天道 9 10 11 12月被关77天(谋杀罪,9.16日早谋杀卡尔.海因)--妻子:初枝 白色衬 ...

  6. 对k8s service的一些理解

    服务service service是一个抽象概念,定义了一个服务的多个pod逻辑合集和访问pod的策略,一般把service称为微服务 举个例子一个a服务运行3个pod,b服务怎么访问a服务的pod, ...

  7. SDWebImage代码赏析

    过NSOperationQueue来控制 为了保护变量,使用大量了sychronized 读的时候使用了dispatch_sync dispatch_sync(sself.barrierQueue, ...

  8. iOS UI基础-13.0 数据存储

    应用沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Lay ...

  9. sqli-labs(九)_COOKIE处注入

    第二十关: 这关是一个Cookie处的注入,输入正确的账号密码后,会跳到index.php页面,如下图 这个时候再访问登陆页面的时候http://localhost/sqli-labs-master/ ...

  10. git 开发中的总结

    一.git是什么 1.git是一种分布式的版本管理系统, 分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库. 二.g ...