最近、BeautifulSoup でのヒンディー語文字のエンコードについて、この質問をしました。その質問への回答でその問題は解決しましたが、別の問題があります。
私のコードは次のとおりです。
import urllib2
from bs4 import BeautifulSoup
htmlUrl = "http://archives.ndtv.com/articles/2012-01.html"
FileName = "NDTV_2012_01.txt"
fptr = open(FileName, "w")
fptr.seek(0)
page = urllib2.urlopen(htmlUrl)
soup = BeautifulSoup(page, from_encoding="UTF-8")
li = soup.findAll( 'li')
for link_tag in li:
hypref = link_tag.find('a').contents[0]
strhyp = hypref.encode('utf-8')
fptr.write(strhyp)
fptr.write("\n")
そして、私はエラーが発生します
Traceback (most recent call last):
File "./ScrapeTemplate.py", line 29, in <module>
hypref = link_tag.find('a').contents[0]
IndexError: list index out of range
print strhyp
の代わりに代入するとうまくいきそうですfptr.write()
。これを修正するにはどうすればよいですか?
編集:私が見つけられなかったコードに間違いがありました。修正しましたが、まだ同じエラーが発生します。