使用Python从HTML中提取Unicode文本时出错

时间:2015-06-08 11:53:56

标签: python html unicode beautifulsoup

我需要从HTml页面中提取文本并删除列表中的文本。我有一个从html文件中提取Unicode文本的功能

  # -*- coding: utf-8 -*-
    import codecs
    import os
    #from urllib import urlopen
    from bs4 import BeautifulSoup

    def  extract_unicode(input):            
        soup = BeautifulSoup(open(input,'r'),'lxml')
        for li in soup.find_all('li'):
            li.decompose()   #remove content of <li>
            texts = soup.findAll(text=True)
       return texts

但上面的代码给了我很多错误。 我列出了错误

File "e3.py", line 18, in extract_unicode
    li.decompose()
  File "/usr/lib/python2.7/dist-packages/bs4/element.py", line 788, in decompose
    self.extract()
  File "/usr/lib/python2.7/dist-packages/bs4/element.py", line 106, in extract
    if self.parent is not None:
  File "/usr/lib/python2.7/dist-packages/bs4/element.py", line 877, in __getattr__
    return self.find(tag)
  File "/usr/lib/python2.7/dist-packages/bs4/element.py", line 1044, in find
    l = self.find_all(name, attrs, recursive, text, 1, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bs4/element.py", line 1064, in find_all
    return self._find_all(name, attrs, text, limit, generator, **kwargs)
  File "/usr/lib/python2.7/dist-packages/bs4/element.py", line 366, in _find_all
    i = next(generator)
  File "/usr/lib/python2.7/dist-packages/bs4/element.py", line 1076, in descendants
    if not len(self.contents):
  File "/usr/lib/python2.7/dist-packages/bs4/element.py", line 879, in __getattr__
    "'%s' object has no attribute '%s'" % (self.__class__, tag))
AttributeError: '<class 'bs4.element.Tag'>' object has no attribute 'contents'

我想要提取的页面 编辑:这是页面 http://www.mangalam.com/cinema/movie-reviews/324429?page=0,1

<div class="clrbth"></div>
    <p>ബൈ ദി ബൈ, ഈ മദ്യപസംഘം 14 വര്‍ഷങ്ങള്‍ക്കു മുമ്പ് ഏതോ കോളജില്‍ ഒരുമിച്ചു പഠിച്ചവരാണ്. അവര്‍ 14 വര്‍ഷത്തിനുശേഷം ആദ്യം കാണുകയാണ്. രഘു എന്ന പരസ്യഏജന്‍സിയുടെ ക്രിയേറ്റീവ് ഹെഡ്ഡായ കുടിയന് ഭാര്യയില്‍നിന്നു മോചനം വേണം. സിദ്ധാര്‍ഥന് പഴയകാമുകി രാധികയുടെ മണമോ മുടിയോ ഒന്നിച്ചുകൊണ്ട മഴയോ വേറേതാണ്ടൊക്കെ വേണം. സിദ്ധാര്‍ഥന്റെ ഭാര്യ രേവതിയ്ക്കാവട്ടെ പഴയ കാമുകിയെപ്പറ്റി കേള്‍ക്കുമ്പോഴേ മുഖത്തു കഥകളി വിരിയും. ഓ, സമ്മതിക്കണം! നൊസ്റ്റാള്‍ജിയ എന്നൊക്കെ വച്ചാല്‍ ഇതാണ്. 14 വര്‍ഷം മുമ്പുള്ള കാമുകിയെ കോളജ് മാഗസിനില്‍പോയി കണ്ട് നിര്‍വൃതി അടയുന്ന ഭയങ്കരകാമുകന്‍.  ഇപ്പോഴും ഈ സൈസ് മുതലൊക്കെയുണ്ടല്ലേ.! അതെന്തങ്കിലുമാകട്ടെ. ഈ കള്ളുകുടിച്ചു പറയുന്ന ഗൃഹാതുരതയും ആപ്തവാക്യങ്ങളുമുണ്ടല്ലോ, ഭയങ്കര സംഭവമാണ്. നോട്ട്ബുക്ക് ഇല്ലായിരുന്നു, ഉണ്ടായിരുന്നെങ്കില്‍ എഴുതിയെടുത്തു ഫെയ്‌സ്ബുക്കില്‍ ഷെയര്‍ ചെയ്യാമായിരുന്നു. </p>
<p>'ലുക്കാ ചുപ്പി' എന്നത് ഒരു ഹിന്ദിവാക്കാണെന്നാണ് മനസിലാക്കുന്നത്. രംഗ് ദേ ബസന്തിയിലെ എ.ആര്‍. റഹ്മാന്‍ പാട്ട് തുടങ്ങുന്നതുതന്നെ ആ വാക്കിലാണ്. ഒളിച്ചുംപാത്തും എന്ന് അര്‍ഥം വരുന്ന  ആ പേര് എന്തിനാണ് ഈ സിനിമയ്ക്കിട്ടത് എന്നതു ദുരൂഹം. സിനിമയായാല്‍ ഒരുപേരൊക്കെ വേണമല്ലോ, അതുകൊണ്ട് ഇട്ടതാവും. ഒളിച്ചും പാത്തുമൊന്നുമല്ല, കാര്യങ്ങളെല്ലാം നേരിട്ടാണു പറയുന്നത്. എന്നാല്‍ ഒരുമദ്യപാന സദസിലെ വെടിവട്ടം എന്നതിനപ്പുറം ഒന്നുമാകാന്‍ സിനിമയ്ക്കു സാധിക്കുന്നില്ല. മദ്യപരുടെ പേക്കൂത്തുകള്‍ മദ്യപിച്ചിരിക്കുന്നവര്‍ക്കുമാത്രമേ ആസ്വദിക്കാനാവു. അല്ലാത്തവര്‍ക്ക് എത്രമാത്രം അസഹ്യമാകുമോ അതാണു കാഴ്ചക്കാരന് ഈ സിനിമ സമ്മാനിക്കുന്നത്. ഒരു ഫൈവ്‌സ്റ്റാര്‍ മദ്യപാനസദസ് എന്നുവേണമെങ്കില്‍ മുഴുവന്‍ സിനിമയെ വിശേഷിപ്പിക്കാം. കോളജ് കാലത്തെ നൊസ്റ്റാള്‍ജിയയും ഒത്തുകൂടലുമായി വന്ന ലാല്‍ജോസ് ചിത്രം ക്ലാസ്‌മേറ്റ്‌സിനെത്തുടര്‍ന്ന്  അത്തരത്തിലുള്ള സിനിമകള്‍ പലവഴിക്ക് ഇറങ്ങിയിട്ടുണ്ട്. ഇടുക്കിഗോള്‍ഡ് എന്ന സിനിമ മദ്യത്തിനുപകരം കഞ്ചാവുമായി ഇമ്മാതിരി ലഹരി നൊസ്റ്റാള്‍ജിയ സൃഷ്ടിക്കാന്‍ ശ്രമിച്ച പടമാണ്.  ഒത്തുചേരലുകളെല്ലാം പിന്നെ മദ്യമില്ലാതെയാണോ സംഭവിക്കുന്നത് എന്നുചോദിച്ചാല്‍, അല്ല, പക്ഷേ ലഹരി നിരയുന്ന ഗ്ലാസുകള്‍ മാത്രം വച്ച്, ആ ലഹരിയുടെ പ്രേരണയില്‍ സംഭവിക്കാവുന്ന ഉന്മാദംനിറഞ്ഞ വാചകമടികള്‍ മാത്രമൊരുക്കി ഒരു മുഴുനീള സിനിമ സൃഷ്ടിച്ചപ്പോഴുണ്ടായ ബോറടിയെപ്പറ്റി പറഞ്ഞുവെന്നതേയുള്ളു. (ഇത്രയുമൊക്കെ  പറഞ്ഞെങ്കിലും സിനിമയില്‍ മദ്യം ഉപയോഗിക്കുന്നതിനോട് സെക്കന്‍ഡ് ഷോയ്ക്ക് ഒരു എതിര്‍പ്പുമില്ല എന്നു വ്യക്തമാക്കാനാഗ്രഹിക്കുന്നു.) ക്ലാസ്‌മേറ്റ്‌സ്, ഇടുക്കിഗോള്‍ഡ് എന്ന സിനിമയില്‍നിന്ന് വ്യത്യസ്തമായി ഫ്‌ളാഷ്ബാക്ക് ഒരിക്കല്‍പോലും ലുക്കാചുപ്പിയില്‍ ഉപയോഗിക്കുന്നില്ല, അത്രയും ആശ്വാസം.<br />
സംവിധായകനായ ബാഷ് മുഹമ്മദ് നവാഗതനാണ്. സാങ്കേതികമായി സിനിമയ്ക്കു മികവുണ്ട് എന്നത് ഒരു വസ്തുതയാണ്. റസൂല്‍ പൂക്കുട്ടിയേപ്പോലുള്ള സാങ്കേതികവിദഗ്ധര്‍ അണിയറയിലുണ്ട്. തിരക്കഥയൊരുക്കിയിരിക്കുന്നത് ഗഫൂര്‍ അറയ്ക്കല്‍ എന്ന മറ്റൊരു നവാഗതനും. തിരക്കിട്ട് എഴുതിയ ഒരു കഥയ്ക്കപ്പുറമുള്ള തിരയും തീരവുമൊന്നുമില്ലാത്ത, ഒരു കോളജ് മാഗസിന്‍ നിലവാരത്തിലുള്ള ചെറുകഥ എന്നുവേണമെങ്കില്‍ ഈ പൂസായ നൊസ്റ്റാള്‍ജിയയെ വിളിക്കാം.  </p>
<p>ഒരു ഫൈവ് സ്റ്റാര്‍ റിസോര്‍ട്ടിലുള്ള മദ്യപാന സദസ് കാണാന്‍ മോഹമുള്ളവര്‍ക്ക് കണ്ടുനോക്കാം എന്നേ പറയുന്നുള്ളു.<br />
ജയൂസൂര്യ, മുരളീ ഗോപി, ജോജു എന്നിവരാണു മുഖ്യവേഷങ്ങള്‍ ചെയ്യുന്നത്. ജയസൂര്യ പലതരത്തില്‍ അഭിനയം പരീക്ഷിക്കുന്നുണ്ട്. സിഗരറ്റ് കടിച്ചുപിടിച്ചും അല്ലാതെയും ഡയലോഗുകള്‍ പറയാനുള്ള ആ ശ്രമങ്ങള്‍ കണ്ണിനും കാതിനും 'കുളിരാ'ണ്. എത്രയടിച്ചാലും ബോധംപോകാത്ത കുടിയനായി ജയസൂര്യ 'അമ്പരപ്പിച്ചു'. മുരളീ ഗോപീ പതിവു മാനറിസങ്ങളുമായി ബുദ്ധിജീവി ആയപ്പോള്‍ വേഷങ്ങള്‍ കിട്ടിയാല്‍ തനിക്കു മികവുതെളിയിക്കാനാകുമെന്ന് ജോജുവും ദിനേഷും വ്യക്തമാക്കുന്നുണ്ട്. നായികമാരില്‍ രമ്യാ നമ്പീശന്‍ സദാസമയം 'കഥകളി'യാണ്. കിട്ടിയ അവസരത്തിലെല്ലാം ഭാവാഭിനയമാണ്. മുത്തുമണിയും ചിന്നു തങ്കച്ചനും തങ്ങളുടെ റോളുകളില്‍ മികച്ചുനിന്നപ്പോള്‍ അമിതാ സൂദ് എന്ന നായിക പാവക്കുട്ടിയെപ്പോലെ തോന്നിച്ചു. ബിജിപാലിന്റെയാണു സംഗീതം. ഒട്ടും ശ്രദ്ധേയമല്ലാത്ത രണ്ടു ഗാനങ്ങള്‍ സിനിമയുടെ വിരസതയുടെ ആഴംകൂട്ടി. </p>
<p>വാല്‍ക്കഷണം: സിനിയ്ക്കു റിവ്യൂ എഴുതുന്നവരെ തല്ലിക്കൊല്ലണമെന്ന് കഴിഞ്ഞദിവസം ഒരു ചാനലില്‍ ജയസൂര്യ ആഹ്വാനം ചെയ്യുന്നതു കണ്ടു. ഈ തല്ലിക്കൊല്ലേണ്ടവരുടെ പട്ടിക വല്ലതും ഉണ്ടാക്കിയിട്ടുണ്ടോ, സെക്കന്‍ഡ് ഷോയും ലേഖകനും പട്ടികയില്‍ പെട്ടിട്ടുണ്ടോ എന്നൊന്നും അറിയില്ല. ഇതൊക്കെ നിരൂപണമായിട്ടൊക്കെ എടുക്കാമോ. ലുക്കാചുപ്പി എന്ന സിനിമ പോലെ ഓരോരോ വാചകമടികള്‍ എന്നുകരുതിയാല്‍പോരെ. (ജീവിക്കാനുള്ള ആഗ്രഹം കൊണ്ടു പറഞ്ഞതാണേ..). എന്തായാലും ആരും തല്ലിക്കൊന്നില്ലെങ്കില്‍ അടുത്ത റിവ്യൂമായി സന്ധിക്കും വരേയ്ക്കും വണക്കം.!</p>
<p><a href="mailto:evshibu1@gmail.com">evshibu1@gmail.com</a></p>
<div style="float:left;padding:5px;"><a href="http://campaign.bharatmatrimony.com/track/clicktrack.php?trackid=00100290914018" target="_blank" style="font-size:16px;color:#000000;">കേരള മാട്രിമോണി - Register Now!</a></div><div style="float:right;margin-left:10px; margin-bottom:10px;">
      <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Home Medium 300 x 250 rect -->
<ins class="adsbygoogle"
     style="display:inline-block;width:300px;height:250px"
     data-ad-client="ca-pub-8314111999877332"
     data-ad-slot="9305344780"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div><div class="page"><div class="links"><div class="item-list"><ul class="pager"><li class="pager-first first"><a href="/cinema/movie-reviews/324429?page=0,0" class="active">« First</a></li>
<li class="pager-previous"><a href="/cinema/movie-reviews/324429?page=0,0" class="active">‹ Prev</a></li>
<li class="pager-item"><a href="/cinema/movie-reviews/324429?page=0,0" title="Go to page 1" class="active">1</a></li>
<li class="pager-current last">2</li>
</ul></div></div></div><div class="share_page">

我需要提取

ജയൂസൂര്യ, മുരളീ ഗോപി, ജോജു എന്നിവരാണു മുഖ്യവേഷങ്ങള്‍ ചെയ്യുന്നത്. ജയസൂര്യ പലതരത്തില്‍ അഭിനയം പരീക്ഷിക്കുന്നുണ്ട്. സിഗരറ്റ് കടിച്ചുപിടിച്ചും അല്ലാതെയും ഡയലോഗുകള്‍ പറയാനുള്ള ആ ശ്രമങ്ങള്‍ കണ്ണിനും കാതിനും 'കുളിരാ'ണ്. എത്രയടിച്ചാലും ബോധംപോകാത്ത കുടിയനായി ജയസൂര്യ 'അമ്പരപ്പിച്ചു'. മുരളീ ഗോപീ പതിവു മാനറിസങ്ങളുമായി ബുദ്ധിജീവി ആയപ്പോള്‍ വേഷങ്ങള്‍ കിട്ടിയാല്‍ തനിക്കു മികവുതെളിയിക്കാനാകുമെന്ന് ജോജുവും ദിനേഷും വ്യക്തമാക്കുന്നുണ്ട്. നായികമാരില്‍ രമ്യാ നമ്പീശന്‍ സദാസമയം 'കഥകളി'യാണ്. കിട്ടിയ അവസരത്തിലെല്ലാം ഭാവാഭിനയമാണ്. മുത്തുമണിയും ചിന്നു തങ്കച്ചനും തങ്ങളുടെ റോളുകളില്‍ മികച്ചുനിന്നപ്പോള്‍ അമിതാ സൂദ് എന്ന നായിക പാവക്കുട്ടിയെപ്പോലെ തോന്നിച്ചു. ബിജിപാലിന്റെയാണു സംഗീതം. ഒട്ടും ശ്രദ്ധേയമല്ലാത്ത രണ്ടു ഗാനങ്ങള്‍ സിനിമയുടെ വിരസതയുടെ ആഴംകൂട്ടി.

有人可以建议我如何解决这个问题吗?

我正在使用python 2.7

0 个答案:

没有答案