HTMLを解析するためのbeautifulsoupに取り組み始めました。
たとえば、サイト「http://en.wikipedia.org/wiki/PLCB1」
import sys
sys.setrecursionlimit(10000)
import urllib2, sys
from BeautifulSoup import BeautifulSoup
site= "http://en.wikipedia.org/wiki/PLCB1"
hdr = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(site,headers=hdr)
page = urllib2.urlopen(req)
soup = BeautifulSoup(page)
table = soup.find('table', {'class':'infobox'})
#print table
rows = table.findAll("th")
for x in rows:
print "x - ", x.string
URL がある場合に None として出力されます。なぜそうなのですか?
出力:
x - Phospholipase C, beta 1 (phosphoinositide-specific)
x - Identifiers
x - None
x - External IDs
x - None
x - None
x - Molecular function
x - Cellular component
x - Biological process
x - RNA expression pattern
x - Orthologs
x - Species
x - None
x - None
x - None
x - RefSeq (mRNA)
x - RefSeq (protein)
x - Location (UCSC)
x - None
たとえば、Location の後に、「pubmed search」を含む th がもう 1 つありますが、None として表示されます。なぜそれが起こっているのか知りたいです。
2番目:解析が容易になるように辞書でthとそれぞれのtdを取得する方法はありますか?