Beautifulsoup没有找到某些标签

时间:2017-05-24 10:40:42

标签: python html beautifulsoup

我正在尝试从rss提要中收集一些数据我的链接其htmls有点像这样。

 <channel>
    <title>Events</title>
    <description>Events</description>
    <link>https://www.hackerrank.com</link>
    <item>
      <title>Codechef - December Lunchtime 2017</title>
      <description></description>
      <url>https://www.codechef.com/LTIME55</url>
      <startTime>2017-12-30 14:00:00 UTC</startTime>
      <endTime>2017-12-30 17:00:00 UTC</endTime>
    </item>
    <item>
      <title>Codechef - December Cook-Off 2017</title>
      <description></description>
      <url>https://www.codechef.com/COOK89</url>
      <startTime>2017-12-24 16:00:00 UTC</startTime>
      <endTime>2017-12-24 18:30:00 UTC</endTime>
    </item>
  </channel>
</rss>

我试图通过标签标题,开始时间和结束时间来查找元素。但我得到的唯一元素是标题元素。 python代码如下:

soup = BeautifulSoup(plain_text,'html.parser')
endtime = soup.find_all("endTime")
print(endtime)
titles = soup.find_all("title")
print(titles)

输出结果为:

[]
[<title>....(The required data)....]

1 个答案:

答案 0 :(得分:1)

这是因为,一旦BeautifulSoup解析您的纯文本,它就会将所有代码转换为lower case,例如传递endtime

soup.find_all('endtime')
[<endtime>2017-12-30 17:00:00 UTC</endtime>,
 <endtime>2017-12-24 18:30:00 UTC</endtime>]