我正在尝试从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)....]
答案 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>]