首页天道酬勤python接收post请求,pythonpost四种方式

python接收post请求,pythonpost四种方式

张世龙 05-06 06:15 8次浏览

用GET方式捕获数据

请求的对象为www.cntour.cn,请求方式为GET。 源代码中的所有数据请求方式都是GET。

确定请求方和方法后,在PyCharm中输入以下代码: 导入导入请求#请求包

url='http://www.cntour.cn/'

通过strhtml=requests.get(URL ) #Get方式获取网络数据

打印(strhtml.text ) )。

用于加载库的语句是import库的名称。 在上述步骤中,加载请求库的语句是import requests。

要通过GET方法检索数据,必须在requests.GET后输入英文点号,以调用requests库中的GET方法,如下所示

获取的数据保存在strhtml变量中。 代码如下。 strhtml=request.get(URL )。

在这种情况下,strhtml是URL对象,表示整个网页,但在这种情况下,只需要网页中的源代码。 以下语句表示网页的源代码。 strhtml.text

以开机自检方式捕获数据

准备

首先,输入有道翻译网站: http://fanyi.youdao.com/进入有道翻译页面。

按快捷键F12进入开发人员模式,单击Network后,内容为空

在有道翻译中输入“我爱中国”,点击“翻译”按钮

在开发人员模式下,单击" Network "和" XHR "按钮,找到翻译数据

单击Headers,可以看到请求数据的方法是开机自检。

找到数据的位置,明确请求方法后,接下来开始写爬虫类。

爬上去拿下

首先,复制Headers的URL并将其分配给URL。 代码如下。 URL=' http://fanyi.Youdao.com/translate _ o? smart result=dictsmartresult=rule '

开机自检请求与GET不同,必须构建请求标头才能获取数据。

Form Data的请求参数如图15所示。

把这个复制下来,制作新词典。 From_data={'i': '我爱中国',' from':'zh-CHS ',

' to':'en ',' smartresult':'dict ',' client':'fanyideskweb ',

' salt':'15477056211258 ',' sign ' : ' b 3589 f32 c 38 BC 9e 3876 a 570 b8a 992604 ',

' ts':'1547705621125 ',' bv ' : ' b 33 a2 F3 F9 d 09 bde 064 c 9275 BCB 33 d 94e ',

' doctype':'json ',' version':'2.1 ',' keyfrom':'fanyi.web ',

' action':'FY_BY_REALTIME ',' typoResult':'false'}

然后,使用requests.post方法请求表单数据。 代码如下。 导入请求#请求包

response=requests.post(URL,data=payload ) )。

将字符串格式的数据转换为JSON格式的数据,根据数据结构提取数据,并打印翻译结果。 代码如下。 导入JSON

内容=JSON.loads (response.text ) )。

打印(内容[ ' translate result ' ] [0] [0] [ ' TGT ' ] )

使用requests.post方法以适当方式捕获翻译结果的完整代码如下: 导入请求#请求包

导入JSON

defget _ translate _ date (word=none ) :

URL=' http://fanyi.Youdao.com/translate _ o? smart result=dictsmartresult=rule '

From_data={'i':word,' from':'zh-CHS ',' to':'en ',' smartresult':'dict ',' clie ' ts':'1547705621125 ',' bv ' : ' b 33 a2 F3 F9 d 064 c 9275 b ' version ' : ' 2.1 ',' keyfrom':'fanyi.web

#表单数据请求

response=requests.post(URL,data=From_data ) )

将Json格式的字符串转换为词典

内容=JSON.loads (response.text ) )。

是打印(内容)

#打印翻译后的数据

# print (内容[ ' translate result ' ] [0] [0] [ ' TGT ' ]

if__name__=='__main__':

get_translate_date (我爱中国) )。

httpclientpost请求,前端的性能优化有哪些