如何使用Python 2从网站上抓取数据?

时间:2015-11-15 18:59:48

标签: python web-scraping python-2.x

因此,当我运行此代码时,我不断获取空括号而不是实际数据。

我想知道为什么我没有收到任何错误消息。

import urllib
import re
symbolslist = ["aapl","spy","goog","nflx"]


for symbol in symbolslist:
    url = "http://finance.yahoo.com/q?s=%s&ql=1"%(symbol)
    htmlfile = urllib.urlopen(url)
    htmltext = htmlfile.read()
    regex = '<span id="yfs_184_%s">(.+?)</span>'%(symbol.lower())
    pattern = re.compile(regex)
    price = re.findall(pattern, htmltext)
    print price

2 个答案:

答案 0 :(得分:1)

括号出现是因为正则表达式的元素代码不是184而是l84而不是一个L。

答案 1 :(得分:0)

有许多库可以帮助您刮取网站。看看ScrapyBeautiful Soup他们应该支持Python 2和3。