1

我正在尝试根据循环的迭代连接 url 和整数。但我收到错误:TypeError: not all arguments converted during string formatting

for i in range(0,20):
    convertedI = str(i)
    address = 'http://www.google.com/search?q=%s&num=100&hl=en&start='.join(convertedI) % (urllib.quote_plus(query))

我也尝试了 urllib.urlencode 函数,但最终得到了同样的错误。

我想我应该提到除了查询之外,这是一个我在我的 main 中传递的字符串我想将当前迭代值分配给 url 中的 start 参数>&start=1

所以第一次迭代我希望我的网址为

http://www.google.com/search?q=%s&num=100&hl=en&start=1' % (urllib.quote_plus(query))
4

2 回答 2

3
for i in range(0, 20):
    address = 'http://www.google.com/search?q=%s&num=100&hl=en&start=%s' % (urllib.quote_plus(query), i)

无需使用stras%s隐含地为您执行此操作。也不需要join,join用于在一个序列中获取多个字符串并使用连接字符将它们拉到一起。您只需要简单的字符串格式。

于 2012-07-17T18:52:05.150 回答
1

我认为你误解了什么join。它使用它的参数作为分隔符来连接传递序列的元素:

>>> ','.join(['a', 'b', 'c'])
'a,b,c'

听起来你只是想做"http://..." + convertedI,但不清楚你到底想做什么。您想要在哪里以及字符串中convertedI的值?urllib.quote_plus(query)

于 2012-07-17T18:52:38.677 回答