Python中mechanize的"无法找到匹配名称的控件
我正在用Python的mechanize库,想在kijiji网站上搜索一个商品。我的最终目标是让我的程序能够搜索某个商品,然后用beautifulsoup库检查是否有人发布了与我搜索的关键词相关的新广告。我打算通过抓取输入搜索词后得到的HTML源代码来实现这个功能,如果有新的广告出现,就给我发邮件,这样我就能第一时间去回复。下面是我的代码,但我遇到了一个错误:“没有匹配名称为'keywords'的控件”。我不太确定我哪里出错了。
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"
2 个回答
0
虽然我没有解决这个具体的错误,但我发现了一种替代的方法来实现我的最终目标,那就是抓取一个网站并告诉我有没有变化。你可以通过把网址中的关键词(比如:“kijiji.ca/monitor/kitchener-waterloo”)换成你想查找的产品,然后定时下载这个网址的html源代码,检查一下这段代码是否和之前的一样。如果不一样,就发一封邮件,因为这说明有新的广告发布了。
0
你的代码没问题,但页面上没有叫做'keywords'的表单。你可以查看页面源代码来确认这一点。