使用 BeautifulSoup 进行网页抓取,为什么没有输出?

时间:2021-01-10 12:45:41

标签: web-scraping beautifulsoup python-3.8

<块引用>

输出应该是:

标准普尔 500 指数

3,824.68

项目链接在这里: https://www.freecodecamp.org/news/how-to-scrape-websites-with-python-and-beautifulsoup-5946935d93fe/

import requests
from bs4 import BeautifulSoup
import ssl
url = "https://www.bloomberg.com/quote/SPX:IND"
html = requests.get(url)
soup = BeautifulSoup(html.content, "html.parser")
name_box = soup.find("h1", attrs={"class": "name"})
name = str(name_box)
print(name)
price_box = soup.find("div", attrs={"class": "price"})
price = str(price_box)
print(price)

2 个答案:

答案 0 :(得分:0)

会发生什么?

您得到输出 None 是因为您不会在响应中找到您想要的数据。

检查回复,您将获得以下信息:

<块引用>

我们检测到您的计算机网络存在异常活动。到 继续,请单击下面的框让我们知道您不是 机器人。

可以看看这个alternative

答案 1 :(得分:0)

HedgeHog 是对的,请求页面存在问题。以下是对程序抓取部分的一些修复

name_box = soup.find("h1", attrs={"class": "companyName__99a4824b"})
name = name_box.text
print(name)
price_box = soup.find("span", attrs={"class": "priceText__1853e8a5"})
price = price_box.text
print(price)