【发布时间】:2018-01-23 18:01:30
【问题描述】:
我正在尝试从此页面获取一些信息:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM2437275
我对提取特征数据特别感兴趣的地方如下:
group_id: xxx
medicore_id: xxxxxxx
date_of_visit_sample_drawn_date: xxxxxxx
rin: xxxxxx
donor_id: xxxxx
sle_visit_designation: xxxxxxx
bold_shipment_batch: xxxxxx
rna_concentrated: xxxxxx
subject_type: xxxxxxx
以此类推。 在检查页面后,我意识到这些信息深深地嵌套在其他更大的表中,并且没有特殊的类/ID 可以让我有效地解析特征信息。 我一直没有成功尝试在表中查找表,但我发现有时并非所有表都被读取。这是我目前所拥有的:
from bs4 import BeautifulSoup
import requests
source= requests.get("https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?
acc=GSM2437275").text
soup = BeautifulSoup(source, 'lxml')
table = soup.find_all('table')
for i in table:
print i.prettify()
print (len(table)) #22 tables
print (table[6].prettify()) #narrow down on relevant table
table = table[6]
table_subtables = table.find_all('table')
for i in table_subtables:
print (i.prettify())
print len(table_subtables) #14 tables
tbb = table_subtables[1]
tbb_subtable = tbb.find_all('table')
for i in tbb_subtable:
print (i.prettify())
print len(tbb_subtable) #12 tables
tbbb = tbb_subtable[5]
tbbb_subtable = tbbb.find_all('table')
for i in tbbb_subtable:
print (i.prettify())
print len(tbbb_subtable) # 6 tables
以此类推。但是,当我继续这样做时,我发现并非所有表格都被读取。有人可以指出更好的解决方案吗?
【问题讨论】:
标签: python beautifulsoup