简单了解下Python爬虫中用到的BeautifulSoup4库。
BeautifulSoup类的基本元素
BeautifulSoup的作用就是:把从网上获取的HTML文本,处理成一种对象,便于更好地对它进行操作。
基本元素 | 说明 |
---|---|
Tag | Html标签:形如<>…</> |
Name | 标签名:<body>...</body> , 格式:Tag.name = ‘body’ |
Attributes | 标签的属性:比如a标签里的 class,href…, 格式:Tag.attrs |
NavigableString | 标签内的字符串:形如<>字符串</>,格式:Tag.string |
Comment | 标签内字符串的注释部分 |
1、BeautifulSoup
的引入
第一行是只引入BeautifulSoup类以及相关操作,第二行则是引入整个bs4库。
1 | from bs4 import BeautifulSoup |
2、HTML文本对象转换为BeautifulSoup
类
1 | import requests |
3、BeautifulSoup
类各元素的类型
这里执行一下:
1 | soup = BeautifulSoup(html.text,"html.parser") |
结果是:
例如要查找HTML里的所有<link>
标签:
这里可以用:soup.find_all('link')
或者 soup('link')
1 | links = soup.find_all('link') |
返回的结果是一个结果集合(包含所有的<link>
标签): 可以用for循环打印出来:
1 | for link in links: |
已经是bs4的Tag
类型了:
如果我们想获取<link>
标签里的链接( href=”houtai/templates/images/favicon.png” ),就需要进一步使用Tag
的attrs
1 | for link in links: |
执行结果为:
<link>
标签中有很多属性:比如:
1 | <link rel="shortcut icon" href="houtai/templates/images/favicon.png" /> |
这里的<link>
标签属性就有rel
、href
,他们都在一个字典里。可以通过字典的方式访问。
1 | for link in links: |
总结如下图:
附:爬取中国大学排名网2019大学排名代码
1 | import requests |
人生苦短,我用Pythonヾ(◍°∇°◍)ノ゙
- 本文链接: https://anyway521.github.io/post/3d87cef4.html
- 最后更新:
- 版权声明: 博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!