2016-02-27 28 views
2

我有了下面標記的網頁:美麗的湯找到其他標籤之間的標籤中所有出現的html頁面

('span', {'class' : 'block-title'}) 
('div', {'class' : 'object-title'}) 
('span', {'class' : 'data-value'}) 

我可以通過頁面循環利用的循環,它提取所需的數據使用下面的

for a in soup.find_all('span', {'class' : 'block-title'}): 
print a 

for b in soup.find_all('div', {'class' : 'object-title'}) 
print b 

for c in soup.find_all('span', {'class' : 'data-value'}) 
print c 

我的問題是它給了我他們在三個不同的列表,我需要在代碼中查找塊標題中第一次出現那麼無論對象的名稱和數據值的所有出現順序,然後是下一個塊標題等我認爲這可能是可能的尋找下一個或找兄弟,但一直在尋找一些幫助/諮詢

非常感謝

回答

2

您可以從您的第一find_all()調用中使用的結果,並傳遞一個列表到下一find_all()呼叫發現在其中的所有相關標籤。類似這樣的:

for a in soup.find_all('span', {'class' : 'block-title'}): 
    print a 
    for b in print a.find_all(['div', 'span'], {'class' : ['object-title', 'data-value']}): 
     print b 
相關問題