博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018年6月12日笔记
阅读量:6655 次
发布时间:2019-06-25

本文共 2814 字,大约阅读时间需要 9 分钟。

  • 爬虫概念

网络爬虫(又被称为网页蜘蛛,网页追踪者),是一种按照一定的规则,自动抓取网络信息的程序或脚本。

 

  • GET & POST

HTTP与服务器交互的4个基本方法:

  GET:会向数据库发索取数据的请求,无论进行多少次操作,结果都是一样的。就像数据库的select操作。

  POST:向服务器端发送数据的,但是该请求会改变数据的种类等资源。就像数据库的insert操作。 --> 几乎目前所有的提交操作都是用POST请求的。

  PUT:向服务器端发送数据的,从而改变信息,该请求是用来修改数据的内容,但是不会增加数据的种类。就像数据库的update操作。

  DELETE:是用来删除某一个资源的。就像数据库的delete操作。

 

GET与POST的区别:

1)GET请求的数据附在URL之后(把数据放在HTTP协议头中)

  以 ?分割URL和传输数据,参数间以 & 相连

    英文/数字   --->   原样

    空格    --->   +

    中文/其他字符   --->   %XX (16进制ASCII)

    POST把数据放在HTTP包的包体中

2)GET可提交的数据量与URL长度有关

  URL不存在参数上限问题,HTTP协议也没对URL长度进行限制;

  主要是特定浏览器对它的限制,IE对URL长度限制是2083字节(2K+35);

  而其他浏览器,如FireFox,理论上没有限制,取决于OS的支持。

    POST对数据是没有限制的,限制主要是服务器的处理能力。

3)POST安全性比GET高

  通过GET提交数据,用户名和密码将以明文形式出现在URL上

 

 

  • requests模块:get方式
1 import requests2 3 params = {
"key1": "hello", "key2": "world"}4 url = "http://www.jd.com"5 r = requests.get(url=url, params=params) # requests.get("https://www.jd.com/?key1=hello&key2=world")6 print(r.url)
https://www.jd.com/?key1=hello&key2=world

 

 

  • requests模块:post方式
1 import requests2 3 params = {
"key1": "hello", "key2": "world"}4 r = requests.post("http://httpbin.org/post", data=params)5 print(r.text)
{    "args":{},"data":"","files":{},"form":{
"key1":"hello","key2":"world"},"headers":{
"Accept":"*/*","Accept-Encoding":"gzip, deflate","Connection":"close","Content-Length":"21","Content-Type":"application/x-www-form-urlencoded","Host":"httpbin.org","User-Agent":"python-requests/2.18.4"},"json":null,"origin":"112.0.151.7","url":"http://httpbin.org/post"}

 

 

  • requests模块:text与content
1 import requests 2  3 url = "https://www.qiushibaike.com/" 4 r = requests.get(url=url) 5  6 print(r.text)           # 用于提取文本 7 print(type(r.text))     # 
8 9 print(r.content) # 用于提取图片、文件等10 print(type(r.content)) #

 

 

  • requests模块:session()会话对象
1 import requests2 3 s = requests.session()4 5 url = "http://www.jd.com"6 7 s.get(url=url)8 # 所有一次会话的信息都保存在s中,只需对s进行操作就可以了

 

 

  • requests模块:获取cookie信息
1 import requests 2  3 def save_cookie(): 4     s = requests.session() 5     s.get("https://www.hao123.com/") 6     print(s.cookies) 7     print(s.cookies.keys()) 8     print(s.cookies.values()) 9     for i in s.cookies:10         print(i)11         print(i.name, i.value, i.domain, i.path, i.expires)12 13 if __name__ == "__main__":14     save_cookie()
,
,
,
,
]>['BAIDUID', '__bsi', 'hz', 'ft', 'v_pg']['E82C769F55DF08DAF85021675FA3A3AB:FG=1', '6671906315530985296_00_74_N_N_205_0303_c02f_Y', '0', '1', 'normal']
BAIDUID E82C769F55DF08DAF85021675FA3A3AB:FG=1 .hao123.com / 1560443017
__bsi 6671906315530985296_00_74_N_N_205_0303_c02f_Y .www.hao123.com / 1528910617
hz 0 .www.hao123.com / None
ft 1 www.hao123.com / 1528991999
v_pg normal www.hao123.com / None

 

  

转载于:https://www.cnblogs.com/karl-python/p/9180962.html

你可能感兴趣的文章
【转】【玩转cocos2d-x之二十三】多线程和同步03-图片异步加载
查看>>
yii cgridview 如何显示图片
查看>>
Shallow copy and Deep copy
查看>>
C语言小结
查看>>
Java的JDBC事务详解(转)
查看>>
Linux防火墙的关闭和开启(转)
查看>>
curl_setopt函数相关应用及介绍(转)
查看>>
vue小技巧
查看>>
CDOJ 92 Journey LCA乱搞
查看>>
Spring BOOT PERFORMANCE
查看>>
Go语言打造以太坊智能合约测试框架(level3)
查看>>
浏览器如何渲染网页?
查看>>
无损压缩图片心得(二)
查看>>
DLL文件是怎么产生的,DLL文件是什么,DLL文件有什么用
查看>>
防止用户直接在地址栏输入URL浏览文件
查看>>
网页入门
查看>>
树B是否为树A的子结构
查看>>
383. Ransom Note
查看>>
HDU-4274 Spy's Work dfs搜索
查看>>
全排列的问题
查看>>