2014-10-20 73 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源代码并检查如果没有,发送电子邮件,因为你知道一个新的广告已发布。