我正在尝试将项目添加到名为“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)))
答案 0 :(得分:0)
好像是你的
soup.find_all
无法找到任何带有字符串“url-additionx”和“url-additiony”的id,这就是为什么你要回到一个空列表。
答案 1 :(得分:0)
如果其他人遇到类似的事情,实际上这是一个非常愚蠢的错误。
the soup = BeautifulSoup(htmltext)
部分是问题所在。我将htmltext
传递给BeautifulSoup
,然后尝试重新定义它。我总是看到 last 值的事实很可能与我重新运行脚本的事实有关,因此最后一个值被分配给新的迭代。
感谢您的评论!