python - framework - tutorial django
La adición de Python a la lista eliminará el Unicode (1)
Esto está bien, y no puedes arreglarlo porque esto es por diseño en Python 2.x. Al imprimir una lista, cada valor es procesado por la función repr
primero, por lo que está imprimiendo una lista de valores repr
'', que puede ser diferente de lo que ve después de print
cada uno de ellos, porque print(value)
resultados str(value)
, no repr(value)
.
Si necesita ver los valores reales (es decir, str(value)
, no repr(value)
), simplemente actualice a Python 3.x.
Tengo una cuerda: un więc
cuando u''a wi/u0119c''
todo está bien, pero cuando añado a la lista, cambia a u''a wi/u0119c''
. Luego estoy tratando de guardar en el archivo (usando json.dumps
porque hay muchas palabras en la lista) y se mantiene u''a wi/u0119c''
.
¿Cómo solucionar para hacer que la u''a wi/u0119c''
un więc?
import urllib2
from bs4 import BeautifulSoup
import sys
import json
reload(sys)
sys.setdefaultencoding(''utf-8'')
def scrapsl():
wordlist = []
deflist = []
soup = BeautifulSoup(urllib2.urlopen(''https://sjp.pl/slownik/lp.phtml?page=1'').read(), "html.parser")
nextpage = soup.find_all(''b'')[1].a.get(''href'')
for i in range(2, 52):
wordlist.append(unicode(soup.find_all(''tr'')[i].td.text))
print(unicode(soup.find_all(''tr'')[i].td.text))
sp = BeautifulSoup(urllib2.urlopen(''https://sjp.pl/'' + str(wordlist[(len(wordlist) - 1)]).replace('' '', "+")).read(), "html.parser")
deflist.append({wordlist[(len(wordlist) - 1)]: sp.find_all(''p'')[3].text})
print(str(i) + "//52")
print wordlist
writelist = []
writelist.append(wordlist)
writelist.append(deflist)
ftw = open("slownik.txt", ''w'')
ftw.write(json.dumps(writelist))
ftw.close()
scrapsl()
Gracias