我有一个循环。每次循环运行时,都会创建一个新列表。我想将所有这些列表添加到一起。我的代码如下:
while i < len(symbolslist):
html_text = urllib.urlopen('my-url.com/'+symbolslist[i]).read()
pattern = re.compile('<a target="_blank" href="(.+?)" rel="nofollow"')
applink = re.findall(pattern, htmltext)
applink += applink
i+=1
其中applink是一个列表。但是,使用当前的代码,它只会将最后两个列表添加到一起。我做错了什么?
谢谢!
答案 0 :(得分:2)
问题在于您使用applink
作为变量名来存储re.findall()
返回的列表,因此您最终每次都会创建一个新列表,而不是使用不同的名称和然后扩展applink以包含新列表(或使用+=
)。
代码 -
applink = []
while i<len(symbolslist):
url = "http://www.indeed.com/resumes/-/in-Singapore?co=SG&start="+str(symbolslist[i])
htmlfile = urllib.urlopen(url)
htmltext = htmlfile.read()
regex = '<a target="_blank" href="(.+?)" rel="nofollow"'
pattern = re.compile(regex)
tempapplink = re.findall(pattern,htmltext)
print tempapplink
applink += tempapplink
i+=1