cookie

Python爬虫入门这一篇就够了

一个人想着一个人 提交于 2020-02-01 01:16:01
何谓爬虫 所谓爬虫,就是按照一定的规则,自动的从网络中抓取信息的程序或者脚本。万维网就像一个巨大的蜘蛛网,我们的爬虫就是上面的一个蜘蛛,不断的去抓取我们需要的信息。 爬虫三要素 抓取 分析 存储 基础的抓取操作 1、urllib 在Python2.x中我们可以通过urllib 或者urllib2 进行网页抓取,但是再Python3.x 移除了urllib2。只能通过urllib进行操作 带参数的urllib url = 'https://blog.csdn.net/weixin_43499626' url = url + '?' + key + '=' + value1 + '&' + key2 + '=' + value2 2、requests requests库是一个非常实用的HTPP客户端库,是抓取操作最常用的一个库。Requests库满足很多需求 需要登录的情况下 1、表单提交登录 向服务器发送一个post请求并携带相关参数,将服务器返回的cookie保存在本地,cookie是服务器在客户端上的“监视器”,记录了登录信息等。客户端通过识别请求携带的cookie,确定是否登录 2、cookie登录 我们可以将登录的cookie存储在文件中, 常见的反爬有哪些 1、通过user-agent来控制访问 user-agent能够使服务器识别出用户的操作系统及版本、cpu类型

爬虫遇到网页拦截肿么办

有些话、适合烂在心里 提交于 2020-02-01 01:09:45
本人学爬虫一段时间,爬的都是简单的网页。但突然有一天爬网页被拦截,不知如何是好,问度娘上百次,总结了一下经验 在访问网页的时候被拦截,封你的IP,登录验证等手段不让爬客们得逞,但是道高一尺,魔高一丈。我开始研习突破反爬虫限制的功法 1.伪装流浪器报头 很多服务器通过浏览器发给它的报头来确认是否是人类用户,所以我们可以通过模仿浏览器的行为构造请求报头给服务器发送请求。服务器会识别其中的一些参数来识别你是否是人类用户,很多网站都会识别User-Agent这个参数,所以请求头最好带上。有一些警觉性比较高的网站可能还会通过其他参数识别,比如通过Accept-Language来辨别你是否是人类用户,一些有防盗链功能的网站还得带上referer这个参数等等。 2.随机生成UA 只需带User-Agent这个参数就可以抓取页面信息了,不过连续抓取几页就被服务器阻止了。于是决定每次抓取数据时模拟不同的浏览器发送请求,而服务器通过User-Agent来识别不同浏览器,所以每次爬取页面可以通过随机生成不同的UA构造报头去请求服务器, 3.减慢爬取速度 虽然模拟了不同浏览器爬取数据,但发现有的时间段可以爬取上百页的数据,有时候却只能爬取十来页,看来服务器还会根据你的访问的频率来识别你是人类用户还是网络爬虫。所以我每抓取一页都让它随机休息几秒,加入此句代码后,每个时间段都能爬取大量股票数据了。 4

Python——爬虫

送分小仙女□ 提交于 2020-02-01 00:14:58
参考资料 网络爬虫 (又被称为 网页蜘蛛,网络机器人 ,在FOAF社区中间,更经常的称为 网页追逐者 ),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 其实通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据 爬虫的本质 :模拟浏览器打开网页,获取网页中我们想要的那部分数据 浏览器打开网页的过程: 当你在浏览器中输入地址后,经过DNS服务器找到服务器主机,向服务器发送一个请求,服务器经过解析后发送给用户浏览器结果,包括html,js,css等文件内容,浏览器解析出来最后呈现给用户在浏览器上看到的结果 用户看到的浏览器的结果就是由HTML代码构成的,我们爬虫就是为了获取这些内容,通过分析和过滤html代码,从中获取我们想要资源(文本,图片,视频.....) 爬虫就是请求网站并提取数据的自动化程序。其中 请求 , 提取 , 自动化 是爬虫的关键! 爬虫的基本流程 发起请求 通过HTTP库向目标站点发起请求,也就是发送一个 Request ,请求可以包含额外的 header 等信息,等待服务器响应 Response 获取响应内容 如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML,Json字符串,二进制数据(图片或者视频)等类型

curl 命令详解

喜欢而已 提交于 2020-01-31 22:22:38
命令事例 发送POST请求: 如果传输文件:curl -F "blob=@tmp.txt;type=text/plain" localhost:8080/request_body 普通post请求:curl -d "method=searchone&module=seller&user_name=wb-liqiu&nickname=dd" -H"Host:fmp.view.lz.taobao.com" "10.235.160.141:8082/api.php" 模拟登录,传输cookie和参数: 下载cookie,命令:curl -c ./cookie.txt -d "language=zh&password=admin&username=admin" http://***.com:8080/saiku/rest/saiku/session 携带cookie以登录用户身份访问,命令如下:curl -b ./cookie.txt -L -d "name=/homes/test2&file=/homes/search.saiku" -H"Host:***.com" "192.0.0.134:8080/saiku/rest/saiku/api/repository/resource" 伪造来源地址,有的网站会判断,请求来源地址 curl -e http://localhost http:

COOKIE和SESSION有什么区别

依然范特西╮ 提交于 2020-01-31 21:23:28
由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务端保存Session的方法很多,内存、数据库、文件都有。集群的时候也要考虑Session的转移,在大型的网站,一般会有专门的Session服务器集群,用来保存用户会话,这个时候 Session 信息都是放在内存的,使用一些缓存服务比如Memcached之类的来放 Session。 服务端识别特定的客户,这个时候用Cookie。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用 Cookie 来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器,我就知道你是谁了。如果客户端的浏览器禁用了 Cookie 怎么办?一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互

COOKIE和SESSION有什么区别?

跟風遠走 提交于 2020-01-31 20:50:53
作者:知乎用户 链接:https://www.zhihu.com/question/19786827/answer/28752144 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务端保存Session的方法很多,内存、数据库、文件都有。集群的时候也要考虑Session的转移,在大型的网站,一般会有专门的Session服务器集群,用来保存用户会话,这个时候 Session 信息都是放在内存的,使用一些缓存服务比如Memcached之类的来放 Session。 2. 思考一下服务端如何识别特定的客户?这个时候Cookie就登场了。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用 Cookie 来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie

网络安全实验6 认识XSS & 盗取cookie

ε祈祈猫儿з 提交于 2020-01-31 06:45:55
赞赏码 & 联系方式 & 个人闲话 【实验名称】认识XSS&盗取cookie 【实验目的】 1. 了解XSS漏洞 2. 掌握盗取Cookie的方法 【实验原理】 1.什么是XSS XSS又叫CSS (Cross Site Script) 也称为跨站,它是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。 2.什么是XSS攻击 XSS攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行,由于HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码,例如记录论坛保存的用户信息(Cookie),由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。如这句简单的Java脚本就能轻易获取用户信息:alert(document.cookie),它会弹出一个包含用户信息的消息框。入侵者运用脚本就能把用户信息发送到他们自己的记录页面中,稍做分析便获取了用户的敏感信息。 3.什么是Cookie Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密

js操作获取和设置cookie

[亡魂溺海] 提交于 2020-01-30 19:43:14
/*cookie的三种操作:读取,写入,删除*/ var CookieUtil = { get:function(name){ var cookieName = encodeURIComponent(name) + "=", cookieStart = document.cookie.indexOf(cookieName), cookieValue = null; if (cookieStart > -1) { var cookieEnd = document.cookie.indexOf(";",cookieStart); if (cookieEnd == -1) { cookieEnd = document.cookie.length; } cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length,cookieEnd)); } return cookieValue; }, set:function(name,value,expires,path,domain,secure){ var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value); if (expires

IOS开发网络篇之──ASIHTTPRequest详解

萝らか妹 提交于 2020-01-30 19:23:51
目录 目录 发起一个同步请求 创建一个异步请求 队列请求 请求队列上下文 ASINetworkQueues, 它的delegate提供更为丰富的功能 取消异步请求 安全的内存回收建议 向服务器端上传数据 下载文件 获取响应信息 获取请求进度 cookie的支持 大文件断点续传 ASIDownloadCache 设置下载缓存 多种的缓存并存 缓存策略 缓存存储方式 缓存其它特性 实现自定义的缓存 使用代理请求 ASIHTTPRequest, 请求的其它特性 ASIHTTPRequest是一款极其强劲的HTTP访问开源项目。让简单的API完成复杂的功能, 如: 异步请求,队列请求,GZIP压缩,缓存,断点续传,进度跟踪,上传文件,HTTP认证 在新的版本中,还加入了Objective-C闭包Block的支持,让我们的代码更加轻简灵活。 下面就举例说明它的API用法。 发起一个同步请求 同步意为着线程阻塞,在主线程中使用此方法会使应用Hang住而不响应任何用户事件。所以,在应用程序设计时,大多被用在专门的子线程增加用户体验,或用异步请求代替(下面会讲到)。 - (IBAction)grabURL:(id)sender { NSURL *url = [NSURL URLWithString:@ " http://allseeing-i.com" ]; ASIHTTPRequest

HTTP协议请求

核能气质少年 提交于 2020-01-30 08:00:57
HTTP协议请求   前言:这几天在学习HTTP协议的请求响应等知识点,使我也慢慢地了解了HTTP协议,以前写网站的时候根本不考虑这些,也就是所谓的”托控件”,这几天学习了这些知识点感觉真的是一个提升,由于我比较笨,所以写个笔记记录一下,要是以后忘了可以再研究研究。顺便也共享一下,可能有错误,希望大家能够指出来。 1. 什么是浏览器? 什么是服务器?   (1)我们一直在浏览网页,比如我们去博客园 www.cnblogs.com ,那么我们知道当我们输入这段网址的时候我们的浏览器以及服务器做了什么吗?下面简单的看一下这张图:      (2)当我们在浏览器中输入: http://127.0.0.1:8080/proscenium/ 的时候,浏览器请求后台服务器,后台服务器会返回给我们一个网页,那么后台服务器到底干了什么呢?我们可以使用Chrome,IE自带的开发者人员工具,或者DebugBur,Fiddler,和HttpWatch查看,下面就是我查看的网站的访问记录        注解:当我们输入网址回车的时候,浏览器自动的将我们请求的地址封装成了HTTP报文,HTTP报文就是一串字符串,而后通过Socket发送到服务器对应的IP和端口上去,请求的报文格式如下:   GET /proscenium/ HTTP/1.1   Host: localhost:8080