python - 如何使用 selenium python 根据日期提取新闻文章标题?
问题描述
我正在从这里抓取标题的 URL 和它们的日期 所以这给了我所有的 URL 和它们出现在页面上的。各个网址上的日期,即发布日期,如 2021 年 6 月 24 日、2021 年 6 月 21 日等。我只想抓取从今天起 6 天前发布的那些 URL。即如果网页有 20 个在日期发布的标题 URL,我只想抓取从 2021 年 8 月 4 日到今天发布的那些网站。所以在我的输出中,只有从 8 月 4 日到今天的日期。
这是我从网站中提取所有 URL 标题及其日期的代码
websites = ['https://www.thespiritsbusiness.com/tag/rum/']
for spirits in websites:
browser.get(spirits)
time.sleep(1)
news_links = browser.find_elements_by_xpath('//*[@id="archivewrapper"]/div/div[2]/h3')
n_links = [ele.find_element_by_tag_name('a').get_attribute('href') for ele in news_links]
dates = browser.find_elements_by_xpath('//*[@id="archivewrapper"]/div/div[2]/small')
n_dates = [ele.text for ele in dates]
print(n_links)
print(n_dates)
我怎样才能做到这一点?请帮我!提前致谢。
解决方案
无论日期如何,我都会首先收集所有链接,然后将它们分组。下面的代码也是如此。
driver.implicitly_wait(10)
driver.get("https://www.thespiritsbusiness.com/category/news/")
news = driver.find_elements_by_xpath("//div[@id='archivewrapper']")
newsdata = {}
for ne in news:
datechk = ne.find_element_by_tag_name("small").get_attribute("innerText").replace(' ','')
link = ne.find_element_by_xpath("//div[@id='archivewrapper']//h3/a").get_attribute("href")
if datechk in newsdata:
newsdata[datechk].append(link)
else:
newsdata[datechk] = [link]
dates = "August{}th,2021"
for i in range(4,12):
if dates.format(i) in newsdata:
print(("{} : {}".format(dates.format(i),newsdata[dates.format(i)])))
driver.quit()
和输出:
August4th,2021 : ['https://www.thespiritsbusiness.com/2021/08/cannabis-drinks-market-to-reach-us6bn-by-2031/', 'https://www.thespiritsbusiness.com/2021/08/cannabis-drinks-market-to-reach-us6bn-by-2031/', 'https://www.thespiritsbusiness.com/2021/08/cannabis-drinks-market-to-reach-us6bn-by-2031/']
August6th,2021 : ['https://www.thespiritsbusiness.com/2021/08/cannabis-drinks-market-to-reach-us6bn-by-2031/', 'https://www.thespiritsbusiness.com/2021/08/cannabis-drinks-market-to-reach-us6bn-by-2031/']
推荐阅读
- opengl - OpenGL 纹理随相机移动
- javascript - 除非包含在内联代码或代码块中,否则如何查找带引号的字符串?
- angular - Angular FormArray 无效不将表单标记为无效
- javascript - 在 javascript 代理对象中转发和访问函数参数
- javascript - 实例化对象如何导出和导入 JS 文件?
- android - Kotlin 的后期初始化
- docker - 在 docker-compose.yaml 中设置 security_opt 不起作用
- php - 使用 Carbon 将日期保存到数据库中
- vb.net - 在焦点文本框和 DataGridView 单元格上使用虚拟键盘
- javascript - TypeError:无法读取注册页面未定义的属性“值”