首页 > 解决方案 > 我找不到这个网络抓取脚本的问题

问题描述

我并不真正编写脚本,但我对我应该做什么和不应该做什么有基本的了解,但是,我遇到了一个问题。

import requests
from bs4 import BeautifulSoup

URL = "https://www.nasdaq.com/market-activity/stocks/dxc"
page = requests.get(URL)

results = soup.find("span", class_="symbol-page-header__pricing-price")

print(results)

这既没有错误也没有成功,我不知道该怎么做。

标签: pythonbeautifulsoup

解决方案


你必须定义soup. 还要在您的请求中包含标题以模拟浏览器,否则该站点将无法加载:

import requests
from bs4 import BeautifulSoup

url = "https://www.nasdaq.com/market-activity/stocks/dxc"
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}

response = requests.get(url, headers=headers)

soup = BeautifulSoup(response.content)
results = soup.find("span", class_="symbol-page-header__pricing-price")

print(results)

PS。您可能不会以这种方式获得所需的数据,因为该站点通过 nasdaq api 动态加载数据。您可以Selenium用于抓取,或者 - 更好 - 直接调用 api。


推荐阅读