添加到Python列表

时间:2015-07-24 19:51:57

标签: python beautifulsoup

我正在尝试将项目添加到名为“bucket”的列表中,但我似乎无法正确设置它。问题如下。

当我运行下面的代码时,第二个.append()为前两次迭代添加一个空[]。仅在第三次迭代时,才会添加我想要的值。

有谁能告诉我我做错了什么?我一直在搜索论坛,但找不到答案。

仅供参考:这只是一个片段,因此上面提到的一些行似乎是荒谬的。但是,这部分代码是我的错误值来自的地方。

非常感谢您的帮助!

import urllib.request
from bs4 import BeautifulSoup
import csv
bucket = []
stock = ['x','y','z']

soup = BeautifulSoup(htmltext)

my_path = "C:\\my\\path"

for i in stock:
    htmlfile = urllib.request.urlopen(str("the-url-i-open" + i))
    htmltext = htmlfile.read()
    bucket.append(str(i))   
    bucket.append(soup.find_all(id=str("url-addition" + i)))

2 个答案:

答案 0 :(得分:0)

好像是你的

soup.find_all 

无法找到任何带有字符串“url-additionx”和“url-additiony”的id,这就是为什么你要回到一个空列表。

答案 1 :(得分:0)

如果其他人遇到类似的事情,实际上这是一个非常愚蠢的错误。

the soup = BeautifulSoup(htmltext)部分是问题所在。我将htmltext传递给BeautifulSoup,然后尝试重新定义它。我总是看到 last 值的事实很可能与我重新运行脚本的事实有关,因此最后一个值被分配给新的迭代。

感谢您的评论!