python爬虫requests发送post数据提交常见的三种方式及请求实现

python爬虫requests发送post数据提交常见的三种方式及请求实现

三种方式:

(1)最常见的post提交数据以form表单为主:application/x-www-form-urlencoded
在这里插入图片描述
提交方式:

data={'k1':'v1','k2':'v2'}

(2)以json格式提交数据:application/json
Content-Type:application/json

data=json.dumps({'k1':'v1','k2':'v2'})

(3)一般用来传文件(爬虫很少用到):multipart/form-data

Content-Type:multipart/form-data

files = {'files':open('c://xxx.txt','rb')}

查看方式:

浏览器检查 → Network →选择加载文件 → Headers → Reuqest Headers → Content-Type

post请求实现:

(1)Content-Type:application/x-www-form-urlencoded

data={'k1':'v1','k2':'v2'}
requests.post(url = url,headers = headers,data = data)

(2)Content-Type:application/json

data=json.dumps({'k1':'v1','k2':'v2'})#将python的dict转json数据
requests.post(url = url,headers = headers,data = data)

(3)Content-Type:multipart/form-data

files = {'files':open('c://xxx.txt','rb')}#文件路径自定义
requests.post(url = url,headers = headers,files = files)
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 Python 的内置模块 `urllib` 来发送 POST 请求。这是一个示例代码: ```python import urllib.request import urllib.parse url = 'http://httpbin.org/post' data = {'key': 'value'} data = urllib.parse.urlencode(data).encode('utf-8') req = urllib.request.Request(url, data) response = urllib.request.urlopen(req) print(response.read().decode('utf-8')) ``` 或者也可以使用 Python 的第三方模块 `requests` 来发送 POST 请求,这是一个示例代码: ```python import requests url = 'http://httpbin.org/post' data = {'key': 'value'} response = requests.post(url, data=data) print(response.text) ``` 注意,在这些代码中,发送POST 请求是没有设置请求头的,如果想要设置请求头,可以在发送请求时添加参数 `headers`。 ### 回答2: Python发送POST请求的代码可以使用requests库来实现。下面是一个简单的示例: ```python import requests url = 'http://example.com' # 请求的URL data = {'key1': 'value1', 'key2': 'value2'} # POST请求的参数 response = requests.post(url, data=data) # 发送POST请求 # 获取响应结果 status_code = response.status_code # 响应的状态码 content = response.content # 响应的内容 print('Status code:', status_code) print('Content:', content) ``` 在上述代码中,首先导入requests库。接下来,定义了要发送POST请求的URL和参数。然后,使用`requests.post()`函数发送POST请求,并将返回的响应赋值给`response`变量。 最后,通过`response`对象可以得到响应的状态码和内容,分别使用`status_code`和`content`属性。将其打印出来可以查看POST请求的结果。 请注意,上述代码仅作为示例,实际使用时可能需要根据具体情况对URL和参数进行适当的修改。还可以通过headers参数设置请求头、通过params参数传递URL参数、通过json参数发送JSON数据等。详细的使用方法可以参考requests库的官方文档。 ### 回答3: 发送POST请求的代码可以使用Pythonrequests库来完成。下面是一个示例代码: ```python import requests # 定义要发送数据 data = { 'key1': 'value1', 'key2': 'value2' } # 发送POST请求 response = requests.post(url, data=data) # 获取响应结果 result = response.json() # 打印响应结果 print(result) ``` 在上面的代码中,首先导入了requests库。然后,定义了一个要发送数据,以字典的形式保存。接下来,通过requests.post()方法发送POST请求,传入了请求的URL和要发送数据发送完成后,可以通过response.json()方法获取响应的json格式结果,然后将其打印出来。 需要注意的是,需要将"url"替换为实际的请求URL,根据具体的情况来决定是否需要在headers中设置其他选项,还可以使用其他参数来修改请求中的其他属性,如headers、cookies等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值