2014-10-20 57 views
0

我正在使用python的機械化,我正在嘗試在kijiji中搜索一個項目。最終,我的目標是讓我的程序搜索一個項目,然後使用beautifulsoup,檢查是否有人爲我的搜索字詞發佈了一個新廣告,方法是通過搜索輸入搜索項的html源代碼並通過電子郵件發送給我任何新廣告都會出現,以便我可以成爲第一個迴應。下面是我的代碼,但我得到一個錯誤:「沒有控制匹配名稱的關鍵字」。我不確定我做錯了什麼。python機械化中的「no control matching name」

import mechanize 
br = mechanize.Browser() # allow everything to be written to 
br.set_handle_robots(False) # ignore robots 
br.open("http://www.kijiji.ca/h-kitchener-waterloo") 
br.select_form(nr=0) 
br["keywords"] = "Nvidia" 

回答

0

您的代碼是確定的,但頁面中沒有名爲'keywords'的表單。您可以查看頁面源信息來驗證。

+0

我正在尋找輸入數據的搜索框,它的名稱爲「關鍵字」。代碼應該是br [「keywords」] =「Nvidia」,但這也行不通。如果你右鍵點擊搜索框並點擊「Inspect Element」,你將會看到我的意思。 – FreshTendrils 2014-10-20 12:37:21

+0

@FreshTendrils同樣的錯誤消息? – 2014-10-20 13:31:32

+0

@m是,相同的錯誤消息顯示。 – FreshTendrils 2014-10-20 18:40:48

0

雖然這個具體的錯誤我無法解決,但我發現了一個解決我的終極目標的方法,那就是刮掉一個網站並告訴我任何變化。您可以通過將網址中找到的關鍵字(例如:「kijiji.ca/monitor/kitchener-waterloo)」更改爲您正在搜索的任何產品,然後定時下載該網址的html源代碼並檢查如果沒有,發送電子郵件,因爲你知道一個新的廣告已發佈。