url

requests.get()参数

北战南征 提交于 2020-02-29 16:41:45
查询参数-params 1.参数类型   字典,字典中键值对作为查询参数 2.使用方法 1、res = requests.get(url,params=params,headers=headers) 2、特点: * url为基准的url地址,不包含查询参数 * 该方法会自动对params字典编码,然后和url拼接 3.示例 import requests baseurl = 'http://tieba.baidu.com/f?' params = { 'kw' : '赵丽颖吧', 'pn' : '50' } headers = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)'} # 自动对params进行编码,然后自动和url进行拼接,去发请求 res = requests.get(baseurl,params=params,headers=headers) res.encoding = 'utf-8' print(res.text)

区分escape、encodeURI和encodeURIComponent

淺唱寂寞╮ 提交于 2020-02-29 16:38:45
1.escape: escape是对字符串(string)进行编码(而另外两种是对URL),作用是让它们在所有电脑上可读。 编码之后的效果是%XX或者%uXXXX这种形式。 其中 ASCII字母、数字、@*/+ ,这几个字符 不会 被编码,其余的都会。 最关键的是,当你需要对URL编码时,请忘记这个方法,这个方法是针对字符串使用的,不适用于URL。 事实上,这个方法我还没有在实际工作中用到过,所以就不多讲了。 2.encodeURI和encodeURIComponent 对URL编码是常见的事,所以这两个方法应该是实际中要特别注意的。 它们都是编码URL,唯一区别就是编码的字符范围,其中 encodeURI方法 不会 对下列字符编码 ASCII字母、数字、~!@#$&*()=:/,;?+' encodeURIComponent方法 不会 对下列字符编码 ASCII字母、数字、~!*()' 所以encodeURIComponent比encodeURI编码的范围更大。 实际例子来说,encodeURIComponent会把 http:// 编码成 http%3A%2F%2F 而encodeURI却不会。 3.最重要的,我该什么场合用什么方法:     1、如果只是编码字符串,不和URL有半毛钱关系,那么用escape。 2、如果你需要编码整个URL,然后需要使用这个URL

[转]海量数据处理的面试题的方法总结

喜你入骨 提交于 2020-02-29 16:36:20
处理海量数据问题,无非就是: 分而治之/hash映射 + hash统计 + 堆/快速/归并排序; Bloom filter/Bitmap; Trie树/数据库/倒排索引; 外排序; 分布式处理之hadoop/mapreduce。 本文接下来的部分,便针对这5种方法模式结合对应的海量数据处理面试题分别具体阐述。 密匙一、分而治之/hash映射 + hash统计 + 堆/快速/归并排序 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 既然是海量数据处理,那么可想而知,给我们的数据那就一定是海量的。针对这个数据的海量,我们如何着手呢?对的,无非就是分而治之/hash映射 + hash统计 + 堆/快速/归并排序,说白了,就是先映射,而后统计,最后排序: 分而治之/hash映射:针对数据太大,内存受限,智能是:把大文件化成(取模映射)小文件,即16字方针:大而化小,各个击破,缩小规模,逐个解决 hash统计:当大文件转化了小文件,那么我们便可以采用常规的hashmap(ip,value)来进行频率统计。 堆/快速排序:统计完了之后,便进行排序(可采取堆排序),得到次数最多的IP。 具体而论,则是: “首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000

Python——2020爬取猫眼电影Top100(一系列分析和小白版正则小技巧)

萝らか妹 提交于 2020-02-29 14:06:13
Python——2020爬取猫眼电影Top100(详解) 小白我在学习python的过程中看见买的书和csdn上的各位大佬都爬取过猫眼电影Top100当作练习,基本都是用正则表达式进行的爬取,那么我也用正则表达式进行爬取,并说一下正则表达式在编写的时候的一些小技巧,当然更方便的爬取也可以用xpath和pyquery中的类似于css选择器的语法进行爬取更为简单。 首先用谷歌浏览器打开目标网页,F12查看各类响应进行分析,主要看请求头和响应头的内容。(上图!) 我看的是名为4的请求响应,该就是包括了网页源码的请求响应,进行分析后可以看看其响应的展示(Preview)和返回内容(Response)。从中可以或多很多信息: 在General中: 我们可以得到网页的请求URL链接,请求方式get,返回响应码(200),以及远程服务器的地址和端口,在这它增加了Reffer Policy:Referrer判别策略,那么我们就简单介绍一些这个策略,这也是我在大佬博客中看到的。。 ''' no referrer when downgrade的意思:降级时不推荐。 从一个网站链接到另外一个网站会产生新的http请求,referrer是http请求中表示来源的字段。 no-referrer-when-downgrade表示从https协议降为http协议时不发送referrer给跳转网站的服务器。

iOS中UIWebView使用JS交互

喜夏-厌秋 提交于 2020-02-29 11:23:57
iOS中偶尔也会用到webview来显示一些内容,比如新闻,或者一段介绍。但是用的不多,现在来教大家怎么使用js跟webview进行交互。 这里就拿点击图片获取图片路径为例: 1.测试页面html <!doctype html><html> <head> </head> <body> <div> <img src="test.png"/> </div> </body></html> 2.然后我们在controller中加载这一段html [_webview loadRequest:[NSURLRequest requestWithURL:[[NSBundle mainBundle]URLForResource:@"work" withExtension:@"html"]]]; 3.可以看到,这里只显示一张图片 4.加载相关js文件,命名为test.js function setImageClickFunction() { var imgs = document.getElementsByTagName("img"); for (var i=0;i<imgs.length;i++) { var src = imgs[i].src; imgs[i].setAttribute("onClick","click(src)"); } document.location = imageurls

URL&HTTP协议&GET请求&POST请求

大兔子大兔子 提交于 2020-02-29 08:34:05
1.什么是URL    URL 的全称是 Uniform Resource Locator (统一资源定位符)  通过 1 个 URL ,能找到互联网上唯一的 1 个资源 URL 就是资源的地址、位置,互联网上的每个资源都有一个唯一的 URL URL 的基本格式 = 协议 :// 主机地址 / 路径 http://202.108.22.5/img/bdlogo.gif 协议:不同的协议,代表着不同的资源查找方式、资源传输方式.1>HTTP:// 表示采用HTTP协议, 主机地址:存放资源的主机的 IP 地址(域名)2>202.208.225/ 这是我的本地服务器地址, 路径:资源在主机中的具体位置3>img/bdlogo.gif 这是我要访问的数据在我服务器上的路径 2.URL 中常见的协议 : HTTP 超文本传输协议,访问的是远程的网络资源,格式是 http:// http 协议是在网络开发中最常用的协议 file 访问的是本地计算机上的资源,格式是 file:// (不用加主机地址) mailto 访问的是电子邮件地址,格式是 mailto: FTP 访问的是共享主机的文件资源,格式是 ftp:// HTTP 协议简介 HTTP 协议的作用 HTTP 的全称是 Hypertext Transfer Protocol ,超文本传输协议 规定客户端和服务器之间的数据传输格式

CSS3 border-image详解、应用及jQuery插件

♀尐吖头ヾ 提交于 2020-02-29 06:16:45
一、border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人。可惜目前支持的浏览器有限,仅 Firefox3.5,chrome浏览器,Safari3+支持border-image。所以,就本文而言,IE浏览器可以回家休息 了,Firefox3及其以下以及Opera浏览器也可以休息去看《阿凡达》了。所以,本文提供的一些demo页面,要在 Firefox3.5+,chrome或Safari3+浏览器下才可以看到效果。 二、熟悉border-image的一些特性 我们可能对于CSS2中的background属性比较熟悉,例如: background:url(xx.jpg) 27px no-repeat; 指代的是图片(url(xx.jpg)),位置(27px),重复性(no-repeat)。 border-image于此类似,border-image包括图片,剪裁位置(与background位置一样,也是数值,也支持百分值),重复性。例如: border-image:url(border.png) 27 repeat; ,指的就是图片(url(border.png)),剪裁位置(27),重复方式(repeat)。试着对比background,这有助于border-image属性的记忆。 具体描述border

99%的人都理解错了HTTP中GET与POST的区别

放肆的年华 提交于 2020-02-29 05:58:30
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。 你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。 当你在面试中被问到这个问题,你的内心充满了自信和喜悦。 你轻轻松松的给出了一个“标准答案”: GET在浏览器回退时是无害的,而POST会再次提交请求。 GET产生的URL地址可以被Bookmark,而POST不可以。 GET请求会被浏览器主动cache,而POST不会,除非手动设置。 GET请求只能进行url编码,而POST支持多种编码方式。 GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。 GET请求在URL中传送的参数是有长度限制的,而POST么有。 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 GET参数通过URL传递,POST放在Request body中。 (本标准答案参考自w3schools) “很遗憾,这不是我们要的回答!” 请告诉我真相。。。 如果我告诉你GET和POST本质上没有区别你信吗? 让我们扒下GET和POST的外衣

网站扫描工具paros proxy(v3.2.13)安装与使用总结

心已入冬 提交于 2020-02-29 05:34:09
1、安装 (1) 安装JRE 首先确保已安装JRE [Java Run Time Enviroment (JRE) 1.4 (or above) ] 注意:一定要先安装JRE,然后再安装paros proxy,如果先安装paros proxyr后安装JRE,paros proxy将无法启动。 如果没有JRE,可以通过以下地址下载并安装:http://java.sun.com/j2se 如果找不到JRE,也可以下载相同版本的JDK,JDK会带有JRE。 (2) 安装和配置paros proxy应用程序 下载地址:http://sourceforge.net/projects/paros/ 安装: 如果下载的是WINDOWS版本,安装比较简单。 如果下载的是UNIX或其它平台的版本,则需要手动将程序解压到一个新的目录,并单击.JAR文件运行程序。 配置: paros需要两个端口:8080和8443,其中8080是代理连接端口,8443是SSL端口,所以必须保证这两个端口并未其它程序所占用。(查看端口命令:打开DOS命令窗口,输入 netstat查看目前使用的端口)。如果在安装完成,启动应用程序时,出现初始化错误,极大的可能就是因为这个端口被其它程序所占用。 配置浏览器属性:打开浏览器(如IE),打开工具-选项-连接-LAN设置-选中proxy server,proxyname为