python - 我找不到这个网络抓取脚本的问题
问题描述
我并不真正编写脚本,但我对我应该做什么和不应该做什么有基本的了解,但是,我遇到了一个问题。
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)
这既没有错误也没有成功,我不知道该怎么做。
解决方案
你必须定义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。
推荐阅读
- google-apps-script - TypeError:无法从未定义中读取属性“shiftDone”
- java - Java中的本地内部类
- c# - 从空白开始时 VSTO 功能区不显示
- matlab - 控制Matlab中随机函数顺序的种子
- python - 我无法从 Django 框架中解决 RecursionError
- python - 当用户在管理页面上时,Django 自定义管理器返回所有内容
- r - R中混合方差分析中的缺失值
- nativescript - 如何在 nativescript 中从 iOS 上的配置文件配置中检索证书信息?
- java - 复杂的正则表达式和可能的简单方法
- javascript - 我如何有多个类来监听 Javascript 中的点击事件?