zl程序教程

您现在的位置是:首页 >  系统

当前栏目

深入学习requests模块

模块学习 深入 requests
2023-06-13 09:12:59 时间

这阶段在学习爬虫了,学习了requests模块,跟着视频敲代码,但其实还是有点一知半解,所以现在来深入学习,开启我的CSDN。

requests中最常用的方法就是get方法,现在来看一下这个的用法和参数:

requests.get()

用法:requests.get(url,params,**kwargs)

其中url就是我们要爬取的网页的地址。

params:翻译过来就是参数,,这个参数可以将一些键值对增加到url中。比如id什么的,可以将他写成params={"id":"123456"},他就会自动的将params传进url中,然后获取不同的页面。

data:字典,字节序或文件对象,重点作为向服务器提供或提交资源是提交,作为request的内容,与params不同的是,data提交的数据并不放在url链接里, 而是放在url链接对应位置的地方作为数据来存储,它也可以接受一个字符串对象。

json:json格式的数据, json合适在相关的html,http相关的web开发中非常常见, 也是http最经常使用的数据格式, 他是作为内容部分可以向服务器提交。

headers:字典是http的相关语,对应了向某个url访问时所发起的http的头i字段, 可以用这个字段来定义http的访问的http头,可以用来模拟任何我们想模拟的浏览器来对url发起访问。

其他的还没用到过就先不粘贴写了。

response对象属性:

r.status_code

http请求的返回状态,若为200则表示请求成功。

r.text

http响应内容的字符串形式,即返回的页面内容

r.encoding

从http header 中猜测的相应内容编码方式

r.apparent_encoding

从内容中分析出的响应内容编码方式(备选编码方式)

r.content

http响应内容的二进制形式

requests.post()

用法:requests.post(url, data=None, json=None, **kwargs)

参数的介绍和上面一样的。

什么时候会用到post呢?

1.登录注册( POST 比 GET 更安全) 2.需要传输大文本内容的时候( POST 请求对数据长度没有要求)

requests 解析 json

很多时候我们请求的返回值是json格式的,所以我们要用json()方法来解析文本信息。如下

response = requests.get("http://httpbin.org/get")
print(type(response.text))
print(response.json())    # response.json() 与 json.loads() 效果是一样的

嗯好像学的也不是很深入...

刚刚复习了一下bs4的知识,好乱啊555哭了,决定单独开一篇学习BeautifulSoup!!!