【爬虫】Requests库的使用

这个库比我们上次说的 urllib 可是要牛逼一丢丢的。通过它我们可以用更少的代码,模拟浏览器操作。
不多说,直接上手代码。

requests 常见用法

mport requests

# get请求网站
r = requests.get('https://www.baidu.com/')
# 获取服务器响应文本内容
r.text
# 查看编码格式
r.encoding
# 获取字节响应内容
r.content
# 获取响应码 200
r.status_code
# 获取响应头
r.headers
# 获取 Json 响应内容
r.json()
# 获取 socket 流响应内容
r.raw
r.raw.read(10)
# Post请求  当你想要一个键里面添加多个值的时候
payload_tuples = [('key1', 'value1'), ('key1', 'value2')]
r1 = requests.post('https://httpbin.org/post', data=payload_tuples)
payload_dict = {
    
    'key1': ['value1', 'value2']}
r2 = requests.post('https://httpbin.org/post', data=payload_dict)
print(r1.text)
r1.text == r2.text  #  True
# 请求的时候用 json 作为参数
url = 'https://api.github.com/some/endpoint'
payload = {
    
    'some': 'data'}
r = requests.post(url, json=payload)
# 上传文件
url = 'https://httpbin.org/post'
files = {
    
    'file': open('learn_python3_spider-master/wechat_moment.py', 'rb')}
r = requests.post(url, files=files)
r.text
# 获取 cookie 信息
url = 'http://example.com/some/cookie/setting/url'
r = requests.get(url)
r.cookies['example_cookie_name']
# 发送 cookie 信息
url = 'https://httpbin.org/cookies'
cookies = dict(cookies_are='working')
r = requests.get(url, cookies=cookies)
r.text
# 设置超时
requests.get('https://github.com/', timeout=0.001)



# post请求
r = requests.post('https://httpbin.org/post', data = {
    
    'key':'value'})

# 其它乱七八糟的 Http 请求
r = requests.put('https://httpbin.org/put', data = {
    
    'key':'value'})
r = requests.delete('https://httpbin.org/delete')
r = requests.head('https://httpbin.org/get')
r = requests.options('https://httpbin.org/get')

post 和 get 的区别

get请求一般用来请求获取数据,post请求一般作为发送数据到后台,传递数据,创建数据

猜你喜欢

转载自blog.csdn.net/weixin_42468475/article/details/132351871