[PYTHON] str (utf-8) ou unicode est important

Il semble que le caractère brouillé était un grave malentendu, et re était innocent.

La chaîne de caractères obtenue par renderContents () avec BeautifulSoup est str → Si vous ne le décodez pas, la valeur ne sera pas saisie dans le magasin de données

Chaîne de caractères = unicode obtenu en ramassant des valeurs d'attribut, etc. avec BeautifulSoup → La valeur est saisie dans le magasin de données sans codage unique

Jusqu'à ce que vous vous y habituiez, la chaîne est-elle str ou unicode? Si vous ne programmez pas en l'organisant, vous en serez à nouveau accro.

Ci-dessous, pour référence, la source de confirmation.

test.py


# -*- coding: utf-8 -*-
import urllib2
import re
from BeautifulSoup import BeautifulSoup

soup = BeautifulSoup(urllib2.urlopen("http://www.hkt48.jp/schedule/").read())
aaa=soup.find("h3").renderContents()
#C'est UTF-8
print aaa+":len="+str(len(aaa))
print type(aaa)
#J'essaierai de m'habiller avec des vêtements mouillés
split=re.split("48 ", aaa)
#C'est aussi UTF-8
print split[0]+":len="+str(len(split[0]))
print type(split[0])
print split[1]+":len="+str(len(split[1]))
print type(split[1])

#C'est unicode
bbb=soup.find('div',{"class":"categories"}).find("ul",{"class":"cf"}).find("li").find("a")["title"]
print bbb+":len="+str(len(bbb))+"type"
print type(bbb)

/ 【Résultat de l'exécution】 Horaire HKT48: len = 24 type 'str' HKT:len=3 type 'str' Horaire: len = 18 type 'str' Anniversaire: len = 3type type 'unicode'

Recommended Posts

str (utf-8) ou unicode est important
str et unicode
Qu'est-ce que Mini Sam ou Mini Max?