2012-07-23 10 views
5

मेरे पास निम्नलिखित HTML है और मैं यह समझने की कोशिश कर रहा हूं कि मैं कुछ HTML तत्व के बाद टीडी निकालने के लिए सुंदर सूप कैसे कह सकता हूं। इस मामले में मैं के बादसुंदर सूप: विशिष्ट HTML टैग के बाद डेटा निकालने के लिए कैसे करें

<tr> 
<td> Color Digest </td> 
<td> 2,36,156,38,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, </td> 
</tr> 

इस पूरी एचटीएमएल

<html> 
<head> 
<body> 
<div align="center"> 
<table cellspacing="0" cellpadding="0" style="clear:both; width:100%;margin:0px; font-size:1pt;"> 
<br> 
<br> 
<table> 
<table> 
<tbody> 
<tr bgcolor="#AAAAAA"> 
<tr> 
<tr> 
<tr> 
<tr> 
<tr> 
<tr> 
<tr> 
<tr> 
<tr> 
<tr> 
<tr> 
<tr> 
<td> Color Digest </td> 
<td> 2,36,156,38,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, </td> 
</tr> 
</tbody> 
</table> 
+1

यह आपके HTML के सभी है? या यह कई अन्य एस और एस के साथ एक बड़ी फ़ाइल में है? और क्या आप जिस HTML को पार्स कर रहे हैं उसमें केवल एक "रंग डाइजेस्ट" तत्व होने की गारंटी है? –

+0

नहीं यह एचटीएमएल का सिर्फ एक स्निपेट है, इसलिए मैं वास्तव में एक निश्चित तत्व के बाद तत्व प्राप्त करने की तंत्र प्राप्त करना चाहता हूं। XPath की तरह आप बता सकते हैं कि मुझे रंग डाइजेस्ट के बाद पहले टीडी की आवश्यकता है –

उत्तर

4

है <td> में डेटा प्राप्त करना चाहते लगता है कि आपने <td> की एक सूची से अधिक पुनरावृति और बंद करने के लिए एक बार आप मिल गया है की जरूरत है अपने डेटा।

उदाहरण:

from BeautifulSoup import BeautifulSoup 

soup = BeautifulSoup('<html><tr><td>X</td><td>Color Digest</td><td>THE DIGEST</td></tr></html>') 
for cell in soup.html.tr.findAll('td'): 
    if 'Color Digest' == cell.text: 
     print cell.nextSibling.text 
संबंधित मुद्दे