我正在使用 python 运行 for 循环来打印特定 URL 中的每个值,但每个值都打印到具有相同键的新字典中,而不是将多个值插入到一个字典中。
如何将特定键的所有值插入到单个唯一键中?
kernelLinks = []
for values in output:
links = links + ([("https://www.kaggle.com" + (values["scriptUrl"]))])
driver = webdriver.Chrome()
method = {}
dictionary = []
for url in links:
driver.get(url)
driver.switch_to_frame(driver.find_element_by_tag_name("iframe"))
data = driver.page_source
data2 = BeautifulSoup(data, "lxml")
for a in data2.find_all('span', class_="n"):
data2 = BeautifulSoup(data, "lxml")
dictionary = {}
kernel = url
method = a.text
dictionary[kernel] = method
print(dictionary)
电流输出:
{'https://www.kaggle.com/kanncaa1/data-sciencetutorial-for-beginners':'check_output'} {'https://www.kaggle.com/kanncaa1/data-sciencetutorial-for-beginners':'数据'} {'https://www.kaggle.com/kanncaa1/data-sciencetutorial-for-beginners':'解码'} ......
所需输出:
{'https://www.kaggle.com/kanncaa1/data-sciencetutorial-for-beginners':'check_output','数据','解码}
我认为你问题的相关部分是:
如何将特定键的所有值插入到单个唯一键中?
您可能想使用另一个数据结构来保存不同的值。 例如,如果您只对不同的值感兴趣,而不是重复的值,则使用 set 。 (如果您想跟踪所有值,请切换到 list 并使用 append 而不是 add。)这个答案演示了如何跟踪分配给您想要的页面上不同 html 元素的 css 类来解析。它假设您已经以某种方式获得了元素及其类。
items = [
('span', 'pretty'),
('div', 'listing'),
('div', 'header'),
('span', 'ugly'),
('div', 'footer'),
]
data = dict()
for elem, css_class in items:
classes = data.setdefault(elem, set())
classes.add(css_class)
print data