2015-11-15 276 views
-1

所以當我運行這段代碼時,我一直得到空括號而不是實際的數據。如何使用Python 2從網站上抓取數據?

我想弄清楚爲什麼我沒有收到任何錯誤消息。

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 
+0

簡單的打印語句對非正式調試非常有用。 –

回答

0

有許多圖書館的周圍,它可以幫助你刮網站。據我所知,看看ScrapyBeautiful Soup,他們應該支持Python 2和Python 3。

+0

當我把它複製到1(一),但它實際上是l(L小寫)的時候,我能夠弄清楚這一點。 –

1

括號出現是因爲正則表達式的元素代碼不是184而是它的一個L不是一個。