日付 (1 月 1 日、1 月 2 日、....、12 月 31 日) を扱うすべてのウィキペディアのページを繰り返し処理しています。各ページに、その日が誕生日の人の名前を出しています。ただし、コードの途中 (4 月 27 日) で、次の警告が表示されます。
WARNING:root:Some characters could not be decoded, and were replaced with REPLACEMENT CHARACTER.
次に、すぐにエラーが発生します。
Traceback (most recent call last):
File "wikipedia.py", line 29, in <module>
section = soup.find('span', id='Births').parent
AttributeError: 'NoneType' object has no attribute 'parent'
基本的に、4 月 27 日までたどり着いた後、この警告とエラーをスローすることにした理由がわかりません。以下は4月27日のページです。
私が言えることは、これがこのように起こる理由は何も変わらないということです。id="Births" のスパンがまだあります。
これは、すべてのものを呼び出すコードです。
site = "http://en.wikipedia.org/wiki/"+a+"_"+str(b)
hdr = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(site,headers=hdr)
page = urllib2.urlopen(req)
soup = BeautifulSoup(page)
section = soup.find('span', id='Births').parent
births = section.find_next('ul').find_all('li')
for x in births:
#All the regex and parsing, don't think it's necessary to show
エラーは、次の行でスローされます。
section = soup.find('span', id='Births').parent
4 月 27 日までにはたくさんの情報が得られていますが (それぞれ約 35,000 要素の 8 つのリスト)、それが問題になるとは思いません。誰かに何かアイデアがあれば、私はそれを感謝します。ありがとう