BeautifulSoup不确定吗?

时间:2017-11-22 19:31:55

标签: python-3.x beautifulsoup

当我运行此代码时,属性每次都以不同的顺序出现。有谁知道为什么?

我尝试过随机/非确定性搜索BeautifulSoup但找不到任何东西。

from bs4 import BeautifulSoup
html = """
<span class="pb-byline" itemprop="author" itemscope="" 
itemtype="http://schema.org/Person">By 
<a href="https://www.washingtonpost.com/people/joe-bloggs/">
<span itemprop="name">Joe Bloggs</span></a></span>
"""

soup = BeautifulSoup(html, "lxml")
find_span = soup.find('span')
print(find_span.attrs)

现在我知道了,我可以对它们进行排序,但我很好奇理解它。

1 个答案:

答案 0 :(得分:2)

当您访问find_span.attrs时,您正在访问dictionary。它们有 no 顺序,所以要谈谈它prints不合逻辑的顺序。

dictionary只是一组key : value对。它没有隐含的顺序,只是每个key总是会给出相应的value。因此,printing表示这些pairs可以按任何顺序排列。