我開始使用beautifulsoup解析HTML。
用於例如,對於網站的「http://en.wikipedia.org/wiki/PLCB1」使用beautifulsoup解析HTML頁面
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某些情況下。爲什麼是這樣?
輸出:
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
例如,地點後,還有一個個包含「考研搜索」,但顯示爲無。我想知道它爲什麼發生。
and
第二:有沒有辦法在字典中獲取th和各自的td,以便它變得容易解析?
這隻適用於bs4。相反,@sam可能會使用較早版本的BeautifulSoup。 (不是我-1順便說一句) – unutbu 2013-02-16 14:48:18
@unutbu:bugger ..更新爲包括一個BS3選項 – 2013-02-16 14:48:37
它給TypeError – sam 2013-02-16 14:49:54