cookie

爬虫学习 06.Python网络爬虫之requests模块(2)

对着背影说爱祢 提交于 2020-01-11 08:41:05
爬虫学习 06.Python网络爬虫之requests模块(2) 今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 了解cookie和session - 无状态的http协议 - 如上图所示,HTTP协议 是无状态的协议,用户浏览服务器上的内容,只需要发送页面请求,服务器返回内容。对于服务器来说,并不关心,也并不知道是哪个用户的请求。对于一般浏览性的网页来说,没有任何问题。   - 但是,现在很多的网站,是需要用户登录的。以淘宝为例:比如说某个用户想购买一个产品,当点击 “ 购买按钮 ” 时,由于HTTP协议 是无状态的,那对于淘宝来说,就不知道是哪个用户操作的。   - 为了实现这种用户标记,服务器就采用了cookie这种机制来识别具体是哪一个用户的访问。 了解Cookie - 如图,为了实现用户标记,在Http无状态请求的基础之上,我们需要在请求中携带一些用户信息(比如用户名之类,这些信息是服务器发送到本地浏览器的,但是服务器并不存储这些信息),这就是cookie机制。 - 需要注意的是:cookie信息是保存在本地浏览器里面的,服务器上并不存储相关的信息。 在发送请求时,cookie的这些内容是放在 Http协议中的header

web安全之token

允我心安 提交于 2020-01-11 03:18:30
参考:http://blog.csdn.net/sum_rain/article/details/37085771 Token,就是令牌,最大的特点就是随机性,不可预测。一般黑客或软件无法猜测出来。 那么,Token有什么作用?又是什么原理呢? Token一般用在两个地方: 1)防止表单重复提交、 2)anti csrf攻击(跨站点请求伪造)。 两者在原理上都是通过session token来实现的。当客户端请求页面时,服务器会生成一个随机数Token,并且将Token放置到session当中,然后将Token发给客户端(一般通过构造hidden表单)。下次客户端提交请求时,Token会随着表单一起提交到服务器端。 然后,如果应用于“anti csrf攻击”,则服务器端会对Token值进行验证,判断是否和session中的Token值相等,若相等,则可以证明请求有效,不是伪造的。 不过,如果应用于“防止表单重复提交”,服务器端第一次验证相同过后,会将session中的Token值更新下,若用户重复提交,第二次的验证判断将失败,因为用户提交的表单中的Token没变,但服务器端session中Token已经改变了。 上面的session应用相对安全,但也叫繁琐,同时当多页面多请求时,必须采用多Token同时生成的方法,这样占用更多资源,执行效率会降低。因此

【数据分析】快速获取微博用户数据,图片,视频

北城以北 提交于 2020-01-11 00:02:50
功能 输出 实例 运行环境 使用说明 下载脚本 安装依赖 程序设置 设置数据库(可选) 运行脚本 按需求修改脚本(可选) 如何获取user_id 添加cookie与不添加cookie的区别(可选) 如何获取cookie(可选) 如何检测cookie是否有效(可选) 功能 连续爬取 一个 或 多个 新浪微博用户(如 Dear-迪丽热巴 、 郭碧婷 )的数据,并将结果信息写入文件。写入信息几乎包括了用户微博的所有数据,主要有 用户信息 和 微博信息 两大类,前者包含用户昵称、关注数、粉丝数、微博数等等;后者包含微博正文、发布时间、发布工具、评论数等等,因为内容太多,这里不再赘述,详细内容见 输出 部分。具体的写入文件类型如下: 写入 csv文件 (默认) 写入 json文件 (可选) 写入 MySQL数据库 (可选) 写入 MongoDB数据库 (可选) 下载用户 原创 微博中的原始 图片 (可选) 下载用户 转发 微博中的原始 图片 (可选) 下载用户 原创 微博中的 视频 (可选) 下载用户 转发 微博中的 视频 (可选) 下载用户 原创 微博 Live Photo 中的 视频 (可选) 下载用户 转发 微博 Live Photo 中的 视频 (可选) 输出 用户信息 用户id:微博用户id,如"1669879400" 用户昵称:微博用户昵称,如"Dear-迪丽热巴" 性别

爬虫之重要的requests模块

烈酒焚心 提交于 2020-01-10 20:08:42
一 . requests模块 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。 为什么要使用requests模块 因为在使用urllib模块的时候,会有诸多不便之处,总结如下: 手动处理url编码 手动处理post请求参数 处理cookie和代理操作繁琐 ...... 使用requests模块: 自动处理url编码 自动处理post请求参数 简化cookie和代理操作 ...... 如何使用requests模块 安装: pip install requests 使用流程 指定url 基于requests模块发起请求 获取响应对象中的数据值 持久化存储 二 . 案例详情    1. 案例一 : 爬取搜狗指定词条搜索后的页面数据      基于requests模块的get请求 import requests import os #指定搜索关键字 word = input('enter a word you want to search:') #自定义请求头信息 headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36

CookieUtils工具类

佐手、 提交于 2020-01-10 14:33:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> import com.example.demo.constant.Constant; import com.example.demo.util.DateUtil; import com.example.demo.util.idmake.KeyGenerator; import com.example.demo.util.xcode.EncryptUtil; import com.example.demo.util.xcode.SecurityUtil; import org.apache.commons.codec.binary.Hex; import org.springframework.util.SerializationUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax

Session和Cookie的区别

南笙酒味 提交于 2020-01-10 13:13:24
session原理: session是保存在服务器端,理论上是没有是没有限制,只要你的内存够大 浏览器第一次访问服务器时会创建一个session对象并返回一个JSESSIONID=ID的值, 创建一个Cookie对象key为JSSIONID,value为ID的值,将这个Cookie写回浏览器 浏览器在第二次访问服务器的时候携带Cookie信息JSESSIONID=ID的值,如果该JSESSIONID的session已经销毁, 那么会重新创建一个新的session再返回一个新的JSESSIONID通过Cookie返回到浏览器 针对一个web项目,一个浏览器是共享一个session,就算有两个web项目部署在同一个服务器上,针对两个项目的session是不同的 如:你在tomcat上同时部署了两个web项目,分别是web1、web2。当你在一个浏览器上同时访问web1时创建的session是A1,访问web2时创建的session是A2。 后面你再多次访问web1使用的session还是A1,多次访问web2时使用session就是A2 session是基于Cookie技术实现,重启浏览器后再次访问原有的连接依然会创建一个新的session, 因为Cookie在关闭浏览器后就会消失,但是原来服务器的Session还在,只有等到了销毁的时间会自动销毁 如果浏览器端禁用了Cookie

Selenium常用操作

此生再无相见时 提交于 2020-01-09 13:12:27
*/ /*--> */ 目录 安装 下载驱动 元素选取 输入、清除、点击 关闭窗口、浏览器 窗口切换 页面(frame)切换 页面弹窗 等待加载 动作链 键盘事件 执行js(滑动滚动条) 截图 获取元素属性 获取网页源代码、刷新页面 设置窗口大小 设置代理、UA Cookie操作 跳过Selenium检测 示例 安装 pip install selenium 元素选取 单个元素查找方法 注: 其中的element加上一个s,则是对应的多个元素的查找方法 通过xpath查找 find_element_by_xpath() 通过id查找 find_element_by_id() 通过class属性查找 find_element_by_class_name() 通过css选择器查找 ( 语法规则 ) find_element_by_css_selector() 通过链接文本查找 find_element_by_link_text() 通过链接文本的部分匹配查找 find_element_by_partial_ink_text() 通过name属性进行查找 find_element_by_name() 通过标签名查找 find_element_by_tag_name() 两种方法集成了上面所有的查找方法 find_element(By.ID, '...') 通过ID查找一个 find

【Asp.net】 七大内置对象

爱⌒轻易说出口 提交于 2020-01-09 10:53:32
本文主要分析Asp.net的7大内置对象. 利用提供的内置对象可以实现页面之间的数据传递和一些特定的功能,如数据输出,页面重定向等。5个核心常用内置对象分别是Application,Session, Request, Respose ,Server 。另外还有两个对象分别是Cookie对象和Cache对象。 Application 可称之为记录应用程序参数的对象,该对象用于管理共享应用程序级信息,就是管理session会话共享信息,也可以认为application是一个集合,集合中存储的信息是整个应用程序要共享的信息,所以他是全局的。(公用变量和对象) Session 每一个会话(request+response)都有一个seesion对象,(每个客户机到服务器的连接叫做一个会话),seesion用来管理每一个客户个人的信息,也就是每一个会话的信息。(单一用户对象) Cookie 也称缓存对象,该对象用于保护客户端浏览器请求的服务器页面,它也可用于存放用户的非敏感信息。 Server 又称服务器对象,该对象定义了一个与Web服务器相关的类,提供对服务器上的方法和属性。可以简单的理解为通过server对象来控制服务器。(服务器对象) Cache 用于保护Web应用程序的缓存。 Request 是HttpRequest类的实例,他提供对当前页面请求的访问,其中包括标题,Cookie

session和cookie的区别

ぐ巨炮叔叔 提交于 2020-01-09 02:02:47
一·概念理解 首先呢,要了解session和cookie的区别先要了解以下几个概念: 1、 无状态的HTTP协议 : 协议,是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器 传送到客户端的浏览器。 HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。 这就意味着服务器无法从连接上跟踪会话 。 2、 会话(Session)跟踪 :   会话,指用户登录网站后的一系列动作,比如浏览商品添加到购物车并购买。会话(Session)跟踪是Web程序中常用的技术,用来 跟踪用户的整个会话 。常用的会话跟踪技术 是Cookie与Session。 Cookie通过在客户端记录信息确定用户身份 , Session通过 在服务器端记录信息确定用户身份 。 二·cookie 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。用户A购买了一件商品放入购物车内,当再次购买商品时服务器已经无法判断该购买行为是属于用户A的会话还是用户B的会话了。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie 的工作原理。

SpringSession header/cookie/attribute存放 session id

北战南征 提交于 2020-01-08 22:39:31
SpringSession header/cookie/attribute存放 SessionID(死磕) 疯狂创客圈 Java 高并发【 亿级流量聊天室实战】实战系列 【 博客园总入口 】 架构师成长+面试必备之 高并发基础书籍 【 Netty Zookeeper Redis 高并发实战 】 前言 Crazy-SpringCloud 微服务脚手架 &视频介绍 : Crazy-SpringCloud 微服务脚手架,是为 Java 微服务开发 入门者 准备的 学习和开发脚手架。并配有一系列的使用教程和视频,大致如下: 高并发 环境搭建 图文教程和演示视频,陆续上线: 中间件 链接地址 Linux Redis 安装(带视频) Linux Redis 安装(带视频) Linux Zookeeper 安装(带视频) Linux Zookeeper 安装, 带视频 Windows Redis 安装(带视频) Windows Redis 安装(带视频) RabbitMQ 离线安装(带视频) RabbitMQ 离线安装(带视频) ElasticSearch 安装, 带视频 ElasticSearch 安装, 带视频 Nacos 安装(带视频) Nacos 安装(带视频) Crazy-SpringCloud 微服务脚手架 图文教程和演示视频,陆续上线: 组件 链接地址 Eureka Eureka