我尝试在谷歌上打开一个特定的页面。就像用户在搜索关键字和特定网站中输入一样(例如" 2")然后它会给出结果。
所以,搜索通常都有效。现在我尝试将特定网站放入。
class Google:
@classmethod
def search(self, search, sites):
page = requests.get("http://www.google.de/search?q=%s&start=%i 0"%search %sites)
[...]
class Menu:
@classmethod
def start_menu(self):
begriff = raw_input("Bitte gib deinen Suchbegriff ein: ")
seiten = raw_input("Wie viele Seiten willst du öffnen?: ")
Google.search(begriff, seiten)
Menu.start_menu()
为什么它不起作用?
错误:
TypeError: not enough arguments for format string
谢谢!
答案 0 :(得分:1)
字符串格式化将一个参数作为元组。你应该替换
%search %sites
带
% (search, sites)
答案 1 :(得分:1)
要应用多个值,请使用元组,而不是多个%
运算符:
"http://www.google.de/search?q=%s&start=%i 0" % (search, sites)
否则只会应用search
,这对于字符串中的两个插槽来说是不够的(% sites
将应用于结果"..." % search
如果成功的话。)
接下来,您会收到sites
不是数字的错误:
TypeError: %d format: a number is required, not str
因为raw_input()
会返回字符串,而不是数字。使用%s
插入字符串:
"http://www.google.de/search?q=%s&start=%s 0" % (search, sites)
您可能还需要在最后删除那个迷路' 0'
。