如何解释以下 Beautiful Soup 代码?
How to explain the following Beautiful Soup code?
我是 Beautiful Soup 的新手,正在尝试学习它,但在我学习它的过程中,我卡在了某个地方 code.Below 是代码:
for link in bsObj.findAll("a"):
if 'href' in link.attrs:
print(link.attrs['href'])
我无法理解“.attrs”的含义如何使用它以及它有什么作用?
其次,当我执行这段代码时,它会打印所有链接,但会省略 href 作为它的变量。?到底是怎么回事?有人可以给我解释一下吗?
完整代码如下:
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("http://en.wikipedia.org/wiki/Kevin_Bacon")
bsObj = BeautifulSoup(html)
for link in bsObj.findAll("a"):
if 'href' in link.attrs:
print(link.attrs['href'])
从 beautifulsoup4 的文档中,"attrs" 引用了具有 html 标记值的所有属性。对于 "a" 标签,它可能有 "href" 属性,"class attribute" 等属性 return 一个字典,所以你将通过访问键 "href" 来获取值.例如:当它打印以下内容时 link:
"/wiki/Wikipedia:Protection_policy#semi"=10=]
然后,字典["href"] = "/wiki/Wikipedia:Protection_policy#semi"
所以键 "href" 的值是 "/wiki/Wikipedia:Protection_policy#semi"
只需编写如下代码:
print(link.attrs) 那么关于这一切你就会清楚了。
我是 Beautiful Soup 的新手,正在尝试学习它,但在我学习它的过程中,我卡在了某个地方 code.Below 是代码:
for link in bsObj.findAll("a"):
if 'href' in link.attrs:
print(link.attrs['href'])
我无法理解“.attrs”的含义如何使用它以及它有什么作用? 其次,当我执行这段代码时,它会打印所有链接,但会省略 href 作为它的变量。?到底是怎么回事?有人可以给我解释一下吗?
完整代码如下:
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("http://en.wikipedia.org/wiki/Kevin_Bacon")
bsObj = BeautifulSoup(html)
for link in bsObj.findAll("a"):
if 'href' in link.attrs:
print(link.attrs['href'])
从 beautifulsoup4 的文档中,"attrs" 引用了具有 html 标记值的所有属性。对于 "a" 标签,它可能有 "href" 属性,"class attribute" 等属性 return 一个字典,所以你将通过访问键 "href" 来获取值.例如:当它打印以下内容时 link:
"/wiki/Wikipedia:Protection_policy#semi"=10=]
然后,字典["href"] = "/wiki/Wikipedia:Protection_policy#semi" 所以键 "href" 的值是 "/wiki/Wikipedia:Protection_policy#semi"
只需编写如下代码: print(link.attrs) 那么关于这一切你就会清楚了。