我正在尝试获取此网页上10篇文章的[[链接,标题,作者和时间戳:https://www.investing.com/equities/micron-tech-news
在撰写本文时,>第一篇文章的链接是“ https://www.investing.com/news/economy/take-five-swap-lines-to-the-rescue-2117042”,
标题是“采取五项措施:抢救线,
作者是路透社]
并且时间戳是“ 22小时前”。
页面上共有10篇文章。但是,当我尝试通过请求运行beautifulsoup4时,在第一篇正确的文章出现之前,我会收到一堆本不应该存在的文章。
并且一堆垃圾文章也出现在末尾,最后只有四个链接出现,而其他链接则不应该出现。
我不知道为什么网页要这样加载。我该如何去做我想做的?
我正在使用以下代码:
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
您可以看到我有两个问题,首先,文章看起来与网站上的文章不一样,其次,当我尝试时,我无法访问显示作者和时间戳的详细信息做细节[i] ['span']我收到一个错误。
我正在尝试获取此网页上10篇文章的链接,标题,作者和时间戳:https://www.investing.com/equities/micron-tech-news在撰写本文时,第一篇...
div
和class=mediumTitle1
。同样对于类别为articleDetails
的元素,有时它们是div
有时是span
,因此您可以使用find(class_="articleDetails").findNext("span")
提取作者来处理这两个问题: