以Xml格式的post請求--Python

尊敬的讀者您好:筆者很高興自己的文章能被閱讀,但原創與編輯均不易,所以轉載請必須註明本文出處並附上本文地址超鏈接以及博主博客地址:https://blog.csdn.net/vensmallzeng。若覺得本文對您有益處還請幫忙點個贊鼓勵一下,筆者在此感謝每一位讀者,如需聯繫筆者,請記下郵箱:[email protected],謝謝合作!

 

 

 

由於自己Bi-lstm+CRF的NER效果不好,所以想通過子公司提供實現序列標註的接口來提高NER性能,該接口功能如下:傳入一段中文句子,返回該段中文句子的序列標註。針對該接口的使用方法,子公司友好的提供瞭如下3個參考文件:

1. 一般在訪問某個接口之前,先進入cmd命令窗口拼一下ip看通不通。命令:ping http://172.19.34.177。

2. 瞭解到該接口是post請求方式,於是上網查了一些相關資料,大體瞭解到:POST請求體(body)大致有四種形式,而本接口的請求體爲Xml格式。

 

 3. 模擬登陸,僞裝成瀏覽器進行登陸(一般登陸涉及安全性方面,登陸會比較複雜,一般把驗證信息放在headers)。

4. 用requests.post()函數進行請求訪問。

5. 將返回的json格式數據解析成字典數據,便於後續處理。

6. 附上訪問接口用到的所有源碼,僅供參考。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests
import json

url = 'http://172.19.34.177:5101/ner'
body = '''<?xml version='1.0' encoding='utf-8'?>
<Mission id='1' type='CWC' hasContent='1'>
    <Asset id='1' catid='0' type='13' bbsmain='1' class='1' title='標題1 '>
        <![CDATA[賀增增[SPE]鹿城區溫州市不。]]>
	</Asset>
</Mission>
'''
#模擬登陸
#headers = {'content-type': "application/json", 'Authorization': 'APP appid = 4abf1a,token = 9480295ab2e2eddb8'}
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
            "Accept": "application/json, text/javascript, */*; q=0.01",
            "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
            "Accept-Encoding": "gzip, deflate, br",
            "Content-Type": "application/json; charset=utf-8",
            "X-Requested-With": "XMLHttpRequest",
            "Cookie": "xxx.............",    # 此處cookie省略了
            "Connection": "keep-alive"}

#查看body信息
print(body)

response = requests.post(url, data=body.encode("utf-8"), headers=headers,verify=False)

# 返回信息
print(response.text)

# 將返回的json格式數據解析成字典型數據
data = json.loads(response.text)

# 返回響應狀態碼,200則爲響應正常
print(response.status_code)

 

日積月累,與君共進,增增小結,未完待續。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章