bs4

作者: 白s圣诞节 | 来源:发表于2019-08-03 22:58 被阅读0次

    bs4:BeautifulSoup
    作用:用来解析网页,提取指定数据的。提供的接口非常简单。使用起来人性化。所以用的比较多,但是bs4只能解析html格式的数据

    • 安装
    pip install bs4
    

    bs4简单使用

    整体使用步骤:
    bs4里面有一个类,BeautifulSoup,然后通过这个类将网页html格式字符串生成一个对象,然后通过对象的方法来进行查找指定元素

    (1)将本地html文件转化为对象
    soup = BeautifulSoup(open('soup.html', encoding='utf8'), 'lxml')

    lxml :
    是一个文件解析库,通过它的解析生成对象,是一个第三方库,需要安装,

    安装
    pip install lxml

    html.parser :
    是python自带的一个文件解析库

    eg:
    soup = BeautifulSoup(open('soup.html', encoding='utf8'), 'lxml')
    根据标签名查找
    soup.a 只能查找得到第一个符合要求的节点,是一个对象,bs4自己封装类的对象
    获取属性
    soup.a.attrs 获取得到所有属性和值,是一个字典
    soup.a.attrs['href'] 获取指定的属性值
    soup.a['href'] 简写形式
    获取文本
    soup.a.string
    soup.a.text
    soup.a.get_text()

    [注]如果标签里面还有标签,那么string获取就是空,而后两个获取的是纯文本内容

    find_all方法
    返回的是一个列表,列表里面都是节点对象
    soup.find_all('a') 找到所有a
    soup.find_all('a', limit=2) 提取符合要求的前两个a
    soup.find_all(['a', 'li']) 查找得到所有的a和li
    soup.find_all('a', class_='xxx')查找得到所有class是xxx的a
    soup.find_all('li', class_=re.compile(r'^xiao'))
    查找所有的class以xiao开头的li标签

    作者:垃圾桶边的狗
    链接:https://www.jianshu.com/p/26a3632796dd
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

        本文标题:bs4

        本文链接:https://www.haomeiwen.com/subject/cxnsdctx.html