2016-03-21 6 views
3

私は、BeautifulSoupを使用して単語を(http://upodn.com/phon.php)に送信するようにプログラムを作成し、結果を印刷しようとします。例えば 私はウェブサイト(http://upodn.com/phon.php)に「ハロー」という言葉を送信したときの結果は次のとおりです。həlo が、私は私のスクリプトを使用して、「こんにちは」という言葉を提出するとき、それは結果は次のとおりです。həloどのようにUnicodeの結果がBeautifulSoupにありますか

私は結果を印刷することができますどのようにウェブサイトに表示されるように=>həlo

スクリプト:

# -*- coding: utf-8 -*- 

import mechanize 
import cookielib 
from BeautifulSoup import BeautifulSoup 
import html2text 

br = mechanize.Browser() 
cj = cookielib.LWPCookieJar() 
br.set_cookiejar(cj) 
br.set_handle_equiv(True) 
br.set_handle_redirect(True) 
br.set_handle_referer(True) 
br.set_handle_robots(False) 
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) 
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1'), ('Content-type', 'text/html; charset=utf-8')] 
br.open('http://upodn.com/phon.php') 
br.select_form(nr=0) 
br.form['intext'] = 'hello' 
br.submit() 
data = br.response().read() 
soup = BeautifulSoup(data) 
# print soup 
table = soup.find('table', {'rules': 'cols'}) 
result = [] 
for row in table.findAll("font"): 
    d = row.text 
    result.append(d) 
print result[1] 

出力:あなたは、現在のバージョンBeautifulSoup、BeautifulSoup 3の絶対に廃止されたバージョンを使用している

həlo 
[Finished in 2.7s] 
+1

まず、あなたはBeautifulSoupの廃止バージョンを使用しています。現在のバージョンはパッケージとモジュール 'bs4'です –

答えて

2

、BeautifulSoup 4は、PyPIにbeautifulsoup4と呼ばれ、トップ持っていますレベルパッケージbs4

Python 2.7.10 (default, Oct 14 2015, 16:09:02) 
[GCC 5.2.1 20151010] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from bs4 import BeautifulSoup 
>>> print(BeautifulSoup('<b>h&#x0259;lo</b>').find('b').text) 
həlo 

がBeautifulSoup3を使用する新しいコードを書くにはポイントがありませんので、あなたは今すぐ切り替えてください:BeautifulSoup 4は、これらのHTMLエンティティをデコードします。

+0

これは完璧に動作します、ありがとう:) –

関連する問題