【发布时间】:2015-12-11 22:09:47
【问题描述】:
我正在尝试创建一个简单的程序,当我输入谷歌金融地址时打印股票价格。
我目前使用的代码如下。
import requests
import bs4
def pricechecker(url):
r = requests.get(url)
soup = bs4.BeautifulSoup(r.text, 'html5lib')
print (soup.select('span.unchanged')[0].text)
当我运行代码时,我一直使用http://www.google.com/finance?q=NASDAQ%3AAAPL&ei=4UJrVomFNZGje7y-pJAP 作为参数。在运行代码时,它指出列表索引超出范围。我使用 firebug 来获取我的代码的 soup.select 部分的 CSS。
非常感谢任何帮助,因为我是编程新手并希望纠正我的错误。
最好的,
猎人
【问题讨论】:
-
提示:
print(soup.select('span.unchanged'))看结果 -
我在尝试对其进行索引之前尝试了一下,它只是返回并为空列表。我不知道为什么会这样。
-
那么,当您索引一个空列表时,您会期待什么?
-
我想让它打印股票价格
-
你必须从网站上刮下来吗?有更好的方法来获取股票价格。我的猜测是,有一个脚本可以运行以填充您要抓取的字段。因此,由于您在浏览器之外请求 html,因此 javascript 无法填写。