结合使用硒和python

时间:2018-12-22 17:09:37

标签: python selenium

我正在尝试基于某些关键字来收集BBC新闻数据,并希望按日期的降序(按日期排序)进行收集。但是,我仅按相关性顺序查看数据。有没有一种方法可以收集按日期排序的数据?

下面是我用来获取数据的链接。 https://www.bbc.co.uk/search?q=Harvard+student&sa_f=search-product&scope=

其他网站提供了这些选项,但我想使用BBC新闻的数据。

谢谢

1 个答案:

答案 0 :(得分:0)

以下是示例之一,您可以使用javascript获取按降序排列的所有新闻,并返回news(li)元素列表:

sortedNews = driver.execute_script('return [...document.querySelectorAll(".search-results.results li")].map(e=>{if (e.querySelector("time")!=null) return e;}).filter(function (el) {return el != null;}).sort(function (a, b) { return a.querySelector("time").dateTime < b.querySelector("time").dateTime ? 1 : -1;});')
for news in sortedNews:
    print(news.find_element_by_css_selector("li h1").text);