欢迎访问我的网站与公众号!点击与扫码即可进入,谢谢关注!

更为详细的教程建议看崔庆才得博客https://cuiqingcai.com/1319.html

BeautifulSoup

安装

1
2
pip install bs4
pip install lxml

引入

from bs4 import BeautifulSoup

加载网页

1
2
3
4
5
6
# 1. 本地
page_text = open('1.txt', 'r', encoding="utf-8")
# 2. 网络
page_text = request.get(url).text
# 相同的,这点和xpath不同
soup = BeautifulSoup(page_text, 'lxml')

数据解析方法和属性

  1. 标签定位

    1
    2
    3
    4
    5
    6
    soup.a 						    # 定位的是第一次出现的tagName标签
    soup.find('div') # 第一个div 等同于 soup.div
    soup.find('div', class_='test') # 属性带个下划线 _
    soup.find_all('div') # 返回匹配要求的所有的标签 列表
    soup.select('.test') # css选择器, 返回的是列表
    soup.select('.test>ul>li') # li[1] 不支持索引,只能返回结果之后再选择列表
  2. 文本数据

    1
    2
    3
    soup.a.text
    soup.a.string
    soup.a.get_text()

    string 只能获取直系文本内容
    text/get_text() 可以获取所有子文本

  3. 标签属性

    1
    2
    soup.a['href']
    soup.div['class']