关于application/x-www-form-urlencoded等字符编码的解释说明
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于application/x-www-form-urlencoded等字符编码的解释说明相关的知识,希望对你有一定的参考价值。
参考技术A application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
application/x-www-form-urlencoded post时编码过的内容在http体里,get时编码过的内容在url里。
multipart/form-data只用在post时。
form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。
当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。
当action为post时候,浏览器把form数据封装到http body中,然后发送到server。
如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。
但是如果有type=file的话,就要用到multipart/form-data了。
浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。
bibli直播弹幕实时爬取
1 分析数据来源
- 在不知道弹幕信息在哪里的时候,只能去all里面查看每一个相应的信息,看信息是否含有弹幕信息
- 在知道弹幕信息文件的时候,我们可以直接用全局文件搜索,定位到弹幕数据文件.操作如下图
2 查看文件的请求信息
3 查看请求头信息,构建请求头
- 请求头;
headers={ ‘Content-Type‘:‘application/x-www-form-urlencoded‘, ‘Origin‘: ‘https://live.bilibili.com‘, ‘Referer‘:‘https://live.bilibili.com/5225369?spm_id_from=333.334.b_62696c695f6c697665.5‘, ‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36‘, }
- 请求体数据
data={ ‘roomid‘: ‘7734200‘, #房间号 ‘csrf_token‘: ‘fa56950667934cf5a3479ca94abc1f9a‘, ‘csrf‘: ‘fa56950667934cf5a3479ca94abc1f9a‘, ‘visit_id‘: ‘‘, }
4 代码
import requests import time
#请求头 headers={ ‘Content-Type‘:‘application/x-www-form-urlencoded‘, ‘Origin‘: ‘https://live.bilibili.com‘, ‘Referer‘:‘https://live.bilibili.com/5225369?spm_id_from=333.334.b_62696c695f6c697665.5‘, ‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36‘, }
#请求体 data={ ‘roomid‘: ‘7734200‘, ‘csrf_token‘: ‘fa56950667934cf5a3479ca94abc1f9a‘, ‘csrf‘: ‘fa56950667934cf5a3479ca94abc1f9a‘, ‘visit_id‘: ‘‘, } url=‘https://api.live.bilibili.com/ajax/msg‘
#实时请求数据 while True: time.sleep(2) response=requests.post(url=url,headers=headers,data=data) dic_data=response.json() # print(type(dic_data)) content=[item[‘text‘] for item in dic_data[‘data‘][‘room‘]] print(content)
5 效果
以上是关于关于application/x-www-form-urlencoded等字符编码的解释说明的主要内容,如果未能解决你的问题,请参考以下文章
program files/common files/apple/Apple Application Support 我的电脑中为啥没有这个文件夹?