2016-02-16 67 views
0

我使用BeautifulSoup抓取股票行情數據,但我使用運行到一個問題findAll()BeautifulSoup - 海峽對象沒有屬性的findAll

import urllib.request 
from bs4 import BeautifulSoup 
import requests 
import collections 

def findCSV(soupPage): 
    CSV_URL_PREFIX = 'http://real-chart.finance.yahoo.com/table.csv?s=' 
    links = soupPage.findAll('a') 
    for link in links: 
     href = link.get('href', '') 
     if href.startswith(CSV_URL_PREFIX): 
      return href 

我得到的錯誤:

str object has no attribute findAll

我不確定是什麼原因導致了這個問題,因爲我以前在一個非常類似的實現中成功地使用了findAll()

+1

你在傳遞什麼函數?這是一個字符串,不是嗎? – TZHX

回答

0

該錯誤不在您提供的代碼示例中:如錯誤消息所示,您已經調用findCSV函數向它傳遞一個字符串。

# you did this: 
my_string = "hello" 
findCSV(my_string) 

# instead of 
soup = BeautifulSoup('<html..></html>') 
findCSV(soup) 
相關問題