2013-07-23 35 views
3

我想寫一個腳本來搜索digikey.com的一部分,並返回每個價格的中斷。然而,我打開網址時遇到了麻煩。我看過其他類似的腳本,這是我想出來的,但是我得到了BeautifulSoup的錯誤。我使用Python 2.7並運行Ubuntu 13.04。Digikey零件價格python腳本

#!/usr/bin/python 

# This script will find the page of a part and return the price 
# break information 

import BeautifulSoup 
import urllib2 


# Create Url to read 
Digikey_url = 'http://digikey.com/scripts/DkSearch/dksus.dll?Detail&name=' 
partNum = '458-1003-ND' 
url=Digikey_url+partNum 

# Create BeautifulSoup Object 
page = urllib2.urlopen(url) 
soup = BeautifulSoup(response) 


# Close Page 
page.close() 

這是我得到的錯誤:

Traceback (most recent call last): 
    File "DigiKeyPrice.py", line 17, in <module> 
    soup = BeautifulSoup(page) 
TypeError: 'module' object is not callable 

而且我也有點新的Python但任何幫助,將不勝感激。

由於

回答

1

替換:

import BeautifulSoup 

與:

from BeautifulSoup import BeautifulSoup 

另外,response變量沒有定義,替換:

soup = BeautifulSoup(response) 

與:

soup = BeautifulSoup(page) 
+0

ahhh ...我看到我忘了更改該變量,我試圖脫離其他一些示例。但我認爲如果我只是'輸入BeautifulSoup',它會導入整個模塊。我錯了嗎? – Jesse

+0

是的,但是你需要'BeautifulSoup'模塊的'BeautifulSoup'類。 – alecxe

+0

謝謝,這正是我的問題所在。我想我已經讀過,我可以從BeautifulSoup中導入所有內容,但我現在看到我的問題在哪裏,這很有道理,爲什麼我得到了我得到的錯誤。 – Jesse