这阶段在学习爬虫了,学习了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 请求对数据长度没有要求)
很多时候我们请求的返回值是json格式的,所以我们要用json()方法来解析文本信息。如下
response = requests.get("http://httpbin.org/get")
print(type(response.text))
print(response.json()) # response.json() 与 json.loads() 效果是一样的
嗯好像学的也不是很深入...
刚刚复习了一下bs4的知识,好乱啊555哭了,决定单独开一篇学习BeautifulSoup!!!