2017-07-11 5 views
0

インド言語(Malayalam)で最も頻繁に使用される単語の辞書を作成するために、WebサイトからBeautifulSoupを使用して応答を解析し、端末に印刷した後、 ... ...、私は端末に、この出力を取得し、BeautifulSoup:findAllを使用して端末にプリントアウトするとき、インド言語がユニコードに変更されます。 function

<div class="articleBody common_text" id="content2044131"> 
<div class="col-md-12 col-sm-12 col-xs-12"> 
<p>വൈറസുകള്‍ എന്നൊരു സാധനമേ ഇല്ല, അത് ഭൂലോക തട്ടിപ്പാണ്. കേരളത്തിലെ പ്രശസ്തനെന്ന് അറിയപ്പെടുന്ന വൈദ്യരുടെ പ്രസ്താവന ആണിത്. മാത്രമല്ല വൈദ്യര്‍ കേരളത്തിലെ ഏറ്റവും വലിയ പീഡിയാട്രീഷനായ ഏതോ ഡോ. പിഷാരടിയോടു ചോദിച്ച് <a href="https://www.facebook.com/181790438911986/videos/313673832390312/"><strong>ഇക്കാര്യം ഉറപ്പുവരുത്തുക കൂടി ചെയ്തു</strong></a>. വൈദ്യരെയും പിഷാരടിയെയും പറഞ്ഞിട്ട് കാര്യമില്ല, കാരണം വൈറസുകളെ കാണാന്‍ സാധിക്കില്ലല്ലോ. പിന്നെ അവ ഉണ്ടെന്ന് എങ്ങനെ  വിശ്വസിക്കും?  </p> 
<p>ഈ ലേഖനം എഴുതാന്‍ കാരണം വൈദ്യരും പിഷാരടിയും മാത്രമല്ല, ഈ അടുത്ത് ഒരാള്‍ ഇതിലും ഞെട്ടിക്കുന്ന ഒരു വാദം പറഞ്ഞു. ഇലക്ട്രോണ്‍, പ്രോട്ടോണ്‍ തുടങ്ങിയ സംഗതികളെല്ലാം ശാസ്ത്രത്തിന്റെ ഭാവന ആണത്രെ. ഇലക്ട്രോണ്‍ വിരുദ്ധരും വൈറസ് വിരുദ്ധരും ചോദിക്കുന്നത് 'കണ്ടിട്ടുണ്ടോ' എന്നാണ്. ഉത്തരം ഇല്ല എന്നുതന്നെ. പക്ഷെ കണ്ടാല്‍ മാത്രമേ വിശ്വസിക്കാന്‍ കഴിയുകയുള്ളോ? കാണാതെ എങ്ങനെ വിശ്വസിക്കും? ഇതാണ് ഈ ലേഖനത്തില്‍ പറയാന്‍ ഉദ്ദേശിക്കുന്നത്. </p> 

soup = BeautifulSoup(response.body, "lxml") 
print(soup) 

0使用

十分なフェアが、

div = soup.findAll("div", {"class": "articleBody common_text"}) 
    print(div) 

を使用して、私がしたい部分を解析した後、私は端末にこれを取得、

<div class="articleBody common_text" id="content2044131">\n<div class="col-md-12 col-sm-12 col-xs-12">\n<p>\u0d35\u0d48\u0d31\u0d38\u0d41\u0d15\u0d33\u0d4d\u200d \u0d0e\u0d28\u0d4d\u0d28\u0d4a\u0d30\u0d41 \u0d38\u0d3e\u0d27\u0d28\u0d2e\u0d47 \u0d07\u0d32\u0d4d\u0d32, \u0d05\u0d24\u0d4d \u0d2d\u0d42\u0d32\u0d4b\u0d15 \u0d24\u0d1f\u0d4d\u0d1f\u0d3f\u0d2a\u0d4d\u0d2a\u0d3e\u0d23\u0d4d. \u0d15\u0d47\u0d30\u0d33\u0d24\u0d4d\u0d24\u0d3f\u0d32\u0d46 \u0d2a\u0d4d\u0d30\u0d36\u0d38\u0d4d\u0d24\u0d28\u0d46\u0d28\u0d4d\u0d28\u0d4d 
\u0d05\u0d31\u0d3f\u0d2f\u0d2a\u0d4d\u0d2a\u0d46\u0d1f\u0d41\u0d28\u0d4d\u0d28 \u0d35\u0d48\u0d26\u0d4d\u0d2f\u0d30\u0d41\u0d1f\u0d46 \u0d2a\u0d4d\u0d30\u0d38\u0d4d\u0d24\u0d3e\u0d35\u0d28 \u0d06\u0d23\u0d3f\u0d24\u0d4d. \u0d2e\u0d3e\u0d24\u0d4d\u0d30\u0d2e\u0d32\u0d4d\u0d32 \u0d35\u0d48\u0d26\u0d4d\u0d2f\u0d30\u0d4d\u200d \u0d15\u0d47\u0d30\u0d33\u0d24\u0d4d\u0d24 

は、なぜそれが突然生のUnicodeに変換したのですか?それを解析する適切な方法はありますか?そして、ちょうど私が後に行う上で予定が何の情報のためである記事から個々の単語をスクラップし、対応するワードと、それが発生した回数とJSONファイルにそれを保存し、多少このような

{ 
    "സാധനമേ": 67, 
    "കേരളത്തിലെ": 69, 
    "ഒരാള്‍": 50, 
    . 
    . 
    . 
} 
+0

div.textを使用してdivのテキストにアクセスし、 ''に基づいて分割して単語リストを取得してカウントを作成することができます。json – Sriram

+0

そうですが、divを取得するにはfindAllを使用する必要があります私はそれを行うときにユニコードに変換されます。 – isht3

答えて

0

それが何かを持っていましたエンコーディングと関連付けるbs4オブジェクトにutf-8エンコーディングを使用することによって、私は必要な出力を得ることができました。

変更、

div = soup.findAll("div", {"class": "articleBody common_text"}) 
print(div) 

に、

div = soup.select(".articleBody")[0] 
print(div.text.encode('utf-8')) 

は、問題を解決しました。

関連する問題