Первый вопрос по StackOverFlow. Я пытаюсь очистить веб fxstreet.com / news . Кажется, что их новостная лента динамически создает статьи. BeautifulSoup не может собрать эту информацию, поэтому я решил использовать Selenium. Однако у меня возникают проблемы с использованием Selenium для доступа к отображаемым статьям.
import requests
from bs4 import BeautifulSoup
import re
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://www.fxstreet.com/news?q=&hPP=17&idx=FxsIndexPro&p=0')
article = driver.find_element_by_link_text('/news')
for post in article:
print(post.text)
Я хотел бы сделать скребок, который периодически проверяет наличие новых статей, эти статьи будут иметь URL-адрес: https://www.fxstreet.com/news... (конечная точка) .
Однако, когда я пытаюсь найти тег hrefs / 'a', я получаю много ссылок по всему сайту, но ни одна из них не является новостными статьями, размещенными в прямом эфире. Когда я смотрю на каждый отдельный div, я выкладываю для меня целое html:
<article class="fxs_entriesList_article_with_image ">
<h3 class="fxs_entryHeadline">
<a href="https://www.fxstreet.com/news/gbp-usd-upside-potential-limited-in-covid-19-uncertainties-202004021808" title="GBP/USD upside potential limited in COVID-19 uncertainties">GBP/USD upside potential limited in COVID-19 uncertainties</a>
</h3>
<address class="fxs_entry_metaInfo">
<span class="fxs_article_author">
By <a href="/author/ross-j-burland" rel="nofollow">Ross J Burland</a>
</span> | <time pubdate="" datetime="">18:08 GMT</time>
</address>
</article>
, говорящее мне, что оно где-то существует, так или иначе, но я совершенно не могу с ним взаимодействовать. Итак, как мне получить доступ к нужным ссылкам, когда Selenium не может найти теги 'a' или частичные ссылки? Я также пытался найти точную ссылку, используя:
elem = driver.find_elements_partial_link("news")
for element in elem:
print(element.get_attribute("innerHTML"))
Безрезультатно. Я также попытался выставить явные и неявные ожидания. Спасибо.