【发布时间】:2018-07-24 17:22:31
【问题描述】:
我已使用以下代码访问下面发布的描述。
代码如下:
import requests
from bs4 import BeautifulSoup
resp = requests.get('https://www.meteoclimatic.net/feed/rss/ESCYL2400000024153A')
soup = BeautifulSoup(resp.content, features='xml')
items = soup.findAll('item')
print(items[0].description)
我获得了以下 XML 示例:
<description>
<ul>
<li><img src="http://meteoclimatic.net/img/sem_tpv.png" style="width: 12px; height: 12px; border: 0px;" alt="***" /> <a href="http://www.meteoclimatic.net/perfil/ESCYL2400000024153A">Sta Mar&#237;a del Condado</a></li>
<ul>
<li> Actualizado: 24-07-2018 08:20 UTC</li>
<li>Temperatura: <b>23,6</b> &#186;C (
M&#225;x.: <b style="color: red">23,6</b> /
M&#237;n.: <b style="color: blue">12,1</b> )</li>
<li>Humedad: <b>54,0</b> % (
M&#225;x.: <b style="color: red">91,0</b> /
M&#237;n.: <b style="color: blue">54,0</b> )</li>
<li>Bar&#243;metro: <b>1021,0</b> hPa (
M&#225;x.: <b style="color: red">1021,2</b> /
M&#237;n.: <b style="color: blue">1019,9</b> )</li>
<li>Viento: <b>1,0</b> km/h (
M&#225;x.: <b style="color: red">9,0</b> )</li>
<li>Direcci&#243;n del viento: <b>170</b> - S</li>
<li>Precip.: <b>0,0</b> mm</li>
</ul>
</ul>
<!--
[[<BEGIN:ESCYL2400000024153A:DATA>]]
[[<ESCYL2400000024153A;(23,6;23,6;12,1;sun);(54,0;91,0;54,0);(1021,0;1021,2;1019,9);(1,0;9,0;170);(0,0);Sta María del Condado>]]
[[<END:ESCYL2400000024153A:DATA>]]
-->
</description>
我想提取标签[[<BEGIN:ESCYL2400000024153A:DATA>]] 和[[<END:ESCYL2400000024153A:DATA>]] 之间包含的项目。我怎么能以“pythonic”的方式做到这一点,而不必手动将每个项目解析为字符串?
编辑:
我要提取的数据也可能在这部分汤里找到:
<ul>
<li><img src="http://meteoclimatic.net/img/sem_tpv.png" style="width: 12px; height: 12px; border: 0px;" alt="***" /> <a href="http://www.meteoclimatic.net/perfil/ESCYL2400000024153A">Sta Mar&#237;a del Condado</a></li>
<ul>
<li> Actualizado: 24-07-2018 08:50 UTC</li>
<li>Temperatura: <b>24,4</b> &#186;C (
M&#225;x.: <b style="color: red">24,5</b> /
M&#237;n.: <b style="color: blue">12,1</b> )</li>
<li>Humedad: <b>49,0</b> % (
M&#225;x.: <b style="color: red">91,0</b> /
M&#237;n.: <b style="color: blue">49,0</b> )</li>
<li>Bar&#243;metro: <b>1021,0</b> hPa (
M&#225;x.: <b style="color: red">1021,2</b> /
M&#237;n.: <b style="color: blue">1019,9</b> )</li>
<li>Viento: <b>5,0</b> km/h (
M&#225;x.: <b style="color: red">10,0</b> )</li>
<li>Direcci&#243;n del viento: <b>219</b> - SW</li>
<li>Precip.: <b>0,0</b> mm</li>
</ul>
</ul>
【问题讨论】:
-
这些在 XML 注释
<!-- -->中,它们不是描述的一部分。
标签: python beautifulsoup