我有一個包含 javascript 的 HTML 檔案,使用 re.findall 我能夠獲取我需要將它們轉換為 Beautifulsoup 物件的函式的引數。
問題是 BS 無法識別字串的編碼,所以我的結果如下所示:
\x3cdiv class\x3d\x22table\x22\x3e MY DATA \x3c/div\x3e
我嘗試了不同的解決方案,如解碼等,但仍然沒有解決方案。
編輯: 當我手動將字串傳遞為 str = r"\x3cdiv class\x3d\x22table\x22\x3e MY DATA \x3c/div\x3e" Beautifulsoup 能夠對其進行解碼,但是一旦從正則運算式中提取,該字串仍然是編碼的。
uj5u.com熱心網友回復:
粘貼時需要對字串進行轉義。你可以像這樣決議它
在js中
const res = `\\x3cdiv class\\x3d\\x22table\\x22\\x3e MY DATA \\x3c/div\\x3e`
.split('\\x')
.slice(1)
.map(v => {
return String.fromCharCode(parseInt(v.slice(0, 2), 16)) v.slice(2)
}).join('')
console.log(res)
在蟒蛇中
def map_func(v):
return chr((int(v[0:2], 16))) v[2:]
txt = "\\x3cdiv class\\x3d\\x22table\\x22\\x3e MY DATA \\x3c/div\\x3e"
arr = txt.split('\\x')
arr = arr[1:]
print(''.join(map(map_func, arr))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/393402.html
標籤:javascript Python html 细绳 美汤
