BeautifalSoup的使用

注意
HTML中看到的换行符,空格都是NavigableString 也就是文本节点。使用遍历文档树的方法时,会遍历文档树中的所有节点(包括文本节点换行,空格等)。 遍历完去gettext的时候会有时为空的,多半就是这个原因。
使用过滤器find等方法,或者手动过滤:
1 | import requests |
常用方法
找到soup所有<a>
标签的链接
1 | for link in soup.find_all('a'): |
从文档中获取纯文本
1 | print(soup.get_text()) # 去掉了html所有标签 |
删除所有指定标签
1 | soup = BeautifulSoup(content,"html.parser") |
取多值属性,常见的就是class的属性,获取出来时一个字符串
1 | css_soup = BeautifulSoup('<p class="body strikeout"></p>') |
处理图片
在处理图片时,img的图片属性只能时src,有些网站把src属性修改成了自定义的名称,此时需要自己加src属性。
错误
AttributeError: 'ResultSet' object has no attribute 'foo'
错误通常是因为把 find_all()
的返回结果当作一个tag或文本节点使用,实际上返回结果是一个列表或 ResultSet
对象的字符串,需要对结果进行循环才能得到每个节点的 .foo
属性.或者使用 find()
方法仅获取到一个节点
- 本文标题:BeautifalSoup的使用
- 创建时间:2020-05-19 14:55:16
- 本文链接:2020/05/19/爬虫/BeautifulSoup总结/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!