Python 网页抓取问题

标签 python

我正在使用 Python 从雅虎财经抓取 AAPL 的股票价格。但是程序总是返回[]。如果有人能指出该程序无法运行的原因,我将不胜感激。这是我的代码:

import urllib
import re
htmlfile=urllib.urlopen("https://ca.finance.yahoo.com/q?s=AAPL&ql=0")
htmltext=htmlfile.read()
regex='<span id=\"yfs_l84_aapl\" class="">(.+?)</span>'
pattern=re.compile(regex)
price=re.findall(pattern,htmltext)
print price

原文出处是这样的:

<span id="yfs_l84_aapl" class>112.31</span>

这里我只想要价格 112.31。我复制并粘贴代码,发现“类”更改为“类=”“”。我也试过代码

regex='<span id=\"yfs_l84_aapl\" class="">(.+?)</span>'

但它也不起作用。

最佳答案

嗯,好消息是您正在获取数据。你快到了。我建议您在一个有帮助的工具中解决您的正则表达式问题,例如regex101 .

无论如何,这是您的工作正则表达式:

regex='<span id="yfs_l84_aapl">(\d*\.\d\d)'

您只收集数字,所以不要笼统地收集,尽可能具体。这是多位数字,带有十进制文字,还有两位数。

关于Python 网页抓取问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32469224/

相关文章:

python - 如何仅记录数据框中的非零值并将 O 替换为 NA?

python - 为什么 "Googletrans.Translator"突然停止工作?

python - 在 Python 中解析 S 表达式

java - python readline() 和 Java 的 Scanner 类 nextLine() 的区别

Python Pandas 滚动窗口应用多个 lambda 函数

python - 从 xgboost 中的 DMatrix 实例检索设计矩阵

PostgreSQL 中的 Python 代码缓存?

python - 按列对分组数据框进行采样

python - 连接类、静态还是实例?

python - 将 JSON 文件读入 Pandas 进行分析