2017-11-10 2 views
0

저는 파이썬과 BeautifulSoup을 사용하여 웹 스크래핑을하고 있습니다.UTF-8 파일에서 원래 문자열을 검색하는 방법은 무엇입니까?

body = soup.find("article") 
tempvar = body.find() 

fuu = open('tempfile', 'w') 
tempvar = tempvar.encode('utf-8') 
fuu.write(str(tempvar)) 
fuu.close() 

fupa = open('tempfile') 
joji = BeautifulSoup(fupa,'html.parser') 
fupa.close() 

print(joji) 

tempvar 때로는 그림 이모티콘으로, HTML 물건을 포함 할 것이다. 나중에 임시 파일의 내용을 실제 HTML 파일에서 사용하고 싶습니다.

<b>mencapai\xc2\xa0batas aksara 140</b>, tapi sudah tentu itu tidak termasuk semua <i>tweet </i>yang tak pernah dihantar kerana pengguna tidak boleh nak luahkan apa yang mereka mahukan. Selepas <b>mengaktifkan aksara 280</b> pada <b>sejumlah kecil akaun </b>yang bertuah, <b>Twitter </b>mengatakan <b>hanya 1%</b> sahaja <b>pengguna yang capai had aksara 280</b>. Tulis panjang\xc2\xb2 nak buat karangan ka. \xf0\x9f\x98\x9c<br/>\n<br/>\nIa juga jarang berlaku bagi pengguna untuk mencapai aksara 280, hanya <b>2%</b> dari <i>tweet </i><b>melebihi aksara 190</b>. <b>Had aksara tweet sebanyak 280 </b>juga <b>mendapat lebih <i>likes </i>dan <i>retweets </i></b>daripada had aksara <i>tweet </i>sebanyak 140. \xf0\x9f\x98\x8a<br/>\n<br/> 
+0

사용하는 파이썬과 BeautifulSoup로 어떤 버전의 파일에 제대로 쓰려면? 문제를 재현 할 수 없습니다. – Blender

+0

python 3.6.3 및 BS4 – nestalgia

+0

Windows에 있습니까? 'str (joji) .encode ('utf-8')'을 파일에 써서 올바르게 인코딩되었는지 볼 수 있습니까? – Blender

답변

1

tempvar 유니 코드 문자열입니다

인쇄 (joji)이 뭔가를 생산하고 있습니다.

with open('tempfile', 'w', encoding='utf8') as fuu: 
    fuu.write(tempvar) 

이와 그것을 다시 읽기 :

with open('tempfile', encoding='utf8') as fupa: 
    ... 
+0

고마워요, 실제로는 그렇게 간단합니다. – nestalgia

관련 문제