从edition.cnn.com/?refresh=1
获取数据进行测试<section class="zn--idx-0 zn-empty"> </section>
<section class="zn--idx-1 zn-empty"> </section>
<section class="zn--idx-2 zn-empty"> </section>
<section class="zn--idx-3 zn-empty"> </section>
<section class="zn--idx-4 zn-empty"> </section>
<section class="zn--idx-5 zn-empty"> </section>
<section class="zn--idx-6 zn-empty"> </section>
<section class="zn--idx-7 zn-empty"> </section>
但它的内容如下:
{{1}}
我想要到达图像中突出显示的h2元素
答案 0 :(得分:1)
您尝试获取的元素不存在于原始页面上,而是使用javascript创建。如果您查看页面的来源(右键单击并选择“View Soruce”或similair),您将无法找到它。
我看到它的方式,你有三个选择,其中三号可能最符合你的需求:
1(执行javascript):为了能够解析你想要的东西,你需要在一个可以执行javascript的真实浏览器中加载页面。使用Selenium在python中执行此操作的一种方法。请参阅this post以供参考。执行Javascript后,您可以解析页面并找到您要查找的元素。
2(解析javascript):或者您可以尝试解析页面上的javascript,在那里可以找到标题:
要做到这一点,你可能想要使用regexp,而不是BeautifulSoup
3(解析RSS-feed)但是,Best选项可能是使用此url解析其RSS-feed: http://rss.cnn.com/rss/edition.rss(或http://edition.cnn.com/services/rss/上找到的任何其他网址)