我无法将一个STRING正确编码为LATIN-1

时间:2019-06-09 20:02:25

标签: python encoding python-requests

我想从WEBSIDE上获得一个STRING字符,但是它并不在乎我总是使用非编码字符来获得STRING的所有编码/解码。

有我的密码:

#!/usr/bin/env python
# -*- coding: latin-1 -*-
import urllib2
import requests
from BeautifulSoup import BeautifulSoup


url = 'https://www.lavanguardia.com/alminuto'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html)
contenido = soup.find('ul', attrs={'class': 'results-list'})

for row in contenido.findAll('a'):
    if len(str(row.findAll(text=True)))>2:
        a = row.findAll(text=True)

print str(a).strip("[]'u'").decode('latin-1')

例如,我得到这个:

  

卢卡纳马卡(Lucanamarca),《国王大帝》(El hambre despu \ xe9s de la masacre)

插入:

  

卢卡纳马卡(El Lucamarca)

¿有人知道我如何编码( \ xe9s )字符以获得正确的结果?

谢谢

2 个答案:

答案 0 :(得分:0)

我这样说:['Rescatan un total de 100 personas en el mar'] 这是您的带有一些mod的代码。     汇入要求     从bs4导入BeautifulSoup

url = 'https://www.lavanguardia.com/alminuto'
response = requests.get(url)
html = response.content
#soup = BeautifulSoup(html)
soup = BeautifulSoup(response.text, 'html.parser')
contenido = soup.find('ul', attrs={'class': 'results-list'})

for row in contenido.findAll('a'):
    if len(str(row.findAll(text=True)))>2:
        a = row.findAll(text=True)
print(a)
#print str(a.strip("[]'u'")) #.decode('latin-1')

答案 1 :(得分:0)

最后,我需要使用插入了“ latin-1”的“ unicode_escape”来解码最后一个STRING。

print str(a).strip("[]'u'").decode("unicode_escape")