Python ETFs每日数据Web抓取

2024-09-25 00:24:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我在网上整理一些不同ETF的每日信息。我发现https://www.marketwatch.com/有准确的信息。最相关的信息是ETF的公开价格、流通股、资产净值、总资产。以下是IVV美国股票的链接:https://www.marketwatch.com/investing/fund/ivv

我刚开始接触Python,想得到一些关于如何启动web抓取程序的提示和指导。我被告知BeutifulSoup是用于网页抓取的软件包。在

我以前用VBA做过网页抓取,但是我用过的网页的HTML是不一样的,我不知道这是不是因为etf的某些值(比如价格和成交量)在不断变化。在

我愿意接受任何建议或任何其他有用的网站(我曾尝试过雅虎财经和晨星,但HTML代码也有同样的问题)。在


Tags: httpscom信息网页htmlwww价格资产
1条回答
网友
1楼 · 发布于 2024-09-25 00:24:28

是的,我同意靓汤是个好方法。下面是一些Python代码,它使用Beautiful Soup库从IVV fund页面提取当天价格:

import requests
from bs4 import BeautifulSoup

r = requests.get("https://www.marketwatch.com/investing/fund/ivv")
html = r.text

soup = BeautifulSoup(html, "html.parser")

if soup.h1.string == "Pardon Our Interruption...":
    print("They detected we are a bot. We hit a captcha.")
else:
    price = soup.find("h3", class_="intraday__price").find("bg-quote").string
    print(price)

价格经常变动这一事实不是问题。HTML标记的名称和类将保持不变。这就是你所需要的美丽的汤。在

你的主要挑战是网站能够检测到你没有使用互联网浏览器,并且会显示你的Python脚本的验证码。所以你需要找到一个方法来解决这个问题。另外,我建议检查一下刮擦的合法性以及是否违反了他们的服务条款。在

您可以在这里了解更多关于靓汤的信息:

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

相关问题 更多 >