0
我想到達某個元素,解析網站的源代碼。 這是我試圖解析(這裏,直到星期五)部分的摘要,但它是一週Python,美麗的湯:如何獲得所需的元素
<div id="intForecast">
<h2>Forecast for Rome</h2>
<table cellspacing="0" cellpadding="0" id="nonCA">
<tr>
<td onclick="showDetails('1');return false" id="day1" class="on">
<span>Thursday</span>
<div class="intIcon"><img src="http://icons.wunderground.com/graphics/conds/2005/sunny.gif" alt="sunny" /></div>
<div>Clear</div>
<div><span class="hi">H <span>22</span>°</span>/<span class="lo">L <span>11</span>°</span></div>
</td>
<td onclick="showDetails('2');return false" id="day2" class="off">
<span>Friday</span>
<div class="intIcon"><img src="http://icons.wunderground.com/graphics/conds/2005/partlycloudy.gif" alt="partlycloudy" /></div>
<div>Partly Cloudy</div>
<div><span class="hi">H <span>21</span>°</span>/<span class="lo">L <span>15</span>°</span></div>
</td>
</tr>
</table>
</div>
所有的日子一樣....等等所有的日子
其實我得到了我的結果,但在一個醜陋的方式,我認爲:
forecastFriday= soup.find('div',text='Friday').findNext('div').findNext('div').string
現在,你可以看到我深下去重複.findNext('div')
的元素,並最終在.string
我想獲得星期五的信息「晴天多雲」
那麼更多pythonic的方式來做到這一點? 謝謝!
謝謝!你能解釋一下我的第二條線是如何工作的嗎? –
第二行'div = soup('div',{'id':'intForecast'})[0]'通過查找具有第二個參數中描述的識別特徵的'div'來工作。被傳遞的字典描述了一個ID爲id的元素,其值爲intForecast。這將返回與該描述相匹配的元素列表。由於只有一個返回,我們得到列表中的第一個項目(0索引)。這是否足夠的解釋? – That1Guy