【发布时间】:2013-12-13 14:20:46
【问题描述】:
这个问题让我困扰了几天,我相信我终于将其范围缩小到了这段代码。如果有人能告诉我如何解决这个问题,以及为什么会这样,那就太棒了。
import urllib2
GetLink = 'http://somesite.com/search?q=datadata#page'
holder = range(1,3)
for LinkIncrement in holder:
h = GetLink + str(LinkIncrement)
ReadLink = urllib2.urlopen(h)
f = open('test.txt', 'w')
for line in ReadLink:
f.write(line)
f.close()
main() #calls function main that does stuff with the file
continue
问题是它只会从'http://somesite.com/search?q=datadata#page' 写入数据,如果我执行以下操作,结果打印正确。
for LinkIncrement in holder:
h = GetLink + str(LinkIncrement)
print h
我正在复制的链接确实以这种方式增加,我可以通过复制和粘贴来打开网址。此外,我用while 循环尝试过这个,但总是得到相同的结果。
下面的代码打开 3 个标签页,其中包含递增的网址 /search?q=datadata#page1、/search?q=datadata#page2 和 /search?q=datadata#page3。只是不能让它在我的代码中工作。
import webbrowser
import urllib2
h = ''
def tab(passed):
url = passed
webbrowser.open_new_tab(url + '/')
def test():
g = 'http://somesite.com/search?q=datadata#page'
f = urllib2.urlopen(g)
NewVar = 1
PageCount = 1
while PageCount < 4:
h = g + str(NewVar)
PageCount += 1
NewVar += 1
tab(h)
test()
感谢 Falsetru 帮助我解决这个问题。该网站在第一页之后的所有页面都使用 json。
【问题讨论】:
标签: python loops python-2.7 urllib2