在 Python 中实施 WGET 和 GREP 的最佳方式

Best Way to Implement WGET and GREP in Python

我正在努力寻找解决此问题的最佳或最有效的方法。

我正在从命令行获取这样的股票价格:

myhostname % wget -q http://www.nasdaq.com/symbol/amzn -O - | egrep "qwidget-dollar"                   
                                    <div id="qwidget_lastsale" class="qwidget-dollar">69.5992</div>
                        <div class="qwidget-dollar"><div>*&nbsp;&nbsp;</div></div>

我正在尝试将其放入 python 文件中并只获取美元金额。

url = "http://www.nasdaq.com/symbol/amzn"
filename = wget.download(url)
print (filename)

这给了我整个页面。不过,我不确定获取美元价值的最佳方法是什么。感谢任何帮助。

您可以使用 re 库,Python 正则表达式的标准库实现。 requests 库也是执行此类任务的好工具。

例如

import re 
import requests

url = "http://www.nasdaq.com/symbol/amzn"
regex = '<div id="qwidget_lastsale" class="qwidget-dollar">$(.*?)</div>'

# Retrieve the page.
page_text = requests.get(url).text 
# Print the first capture group of the regular expression search.
print(re.match(regex, page_text).group(1)) 

但是,对于任何更复杂的 HTML 解析任务,我建议使用 lxml.htmlBeautifulSoup 库。