Я пытаюсь получить ссылки , заголовки , авторов и отметки времени из 10 статей на этой веб-странице: https://www.investing.com/equities/micron-tech-news
На момент написания статьи
Первая статья - это ссылка "https://www.investing.com/news/economy/take-five-swap-lines-to-the-rescue-2117042",
заголовок «Возьми пять: поменять линии на помощь»,
автор «By Reuters»
и отметка времени «22 часа go».
Всего на странице 10 статей. Однако, когда я пытаюсь запустить beautifulsoup4 с запросами, я получаю кучу статей, которых не должно быть там до появления первой правильной статьи.
И в конце появляется куча ненужных статей, в конце появляются только 4 ссылки, в то время как другие не должны быть там.
Я не знаю, почему веб-страница загружается так. Как я могу go делать то, что я хочу?
Я использую следующий код:
import requests
from bs4 import BeautifulSoup
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36",
"X-Requested-With": "XMLHttpRequest"
}
link = "https://www.investing.com/equities/micron-tech/"
linklist = []
r = requests.get(link, headers=header)
soup = BeautifulSoup(r.text, "html")
links = soup.findAll("a", { "class" : "img" })
titles = soup.findAll("a", { "class" : "title" })
details = soup.findAll("span",{"class":"articleDetails"}) #contains the author and time stamp
for i in range(len(links)):
print(links[i]['href']) #links
print(titles[i]['title']) #titles
# print(details[i]['span']) #doesnt work
print(details[i]) #author and time stamp
Как вы видите, у меня есть 2 проблемы, во-первых, статьи не похоже на веб-сайт, во-вторых, я не могу получить доступ к деталям, которые показывают автора и метку времени, когда я пытаюсь сделать детали [я] ['span'] я получаю ошибку.