网页爬虫工具BeautifulSoup使用总结

网页爬虫工具BeautifulSoup

在使用爬虫工具爬取网页的内容时,经常会出现网页格式不规范、标签不完整等等问题,导致在抓取的过程中出现内容无法爬取、内容中含有html标签等等影响结果的错误

安装、引入

  • 安装
    pip install beautifulsoup4
  • 引入模块
    from bs4 import BeautifulSoup

主要方法、使用规则

  • 生成beautifulSoup对象
    soup = BeautifulSoup(html)

    或者打开本地HTML
    soup = BeautifulSoup(open('index.html'))

    在Python3中应该使用写法:
    soup = BeautifulSoup(html, "lxml")

    输出soup:
    <html><head>我是head</head><title>我是title</title><body><p>我是一个p</p><p>我也是一个p</p></body></html>

  • 格式化对象
    arr = soup.prettify()

    简单来说, prettify()方法只是让soup对象看上去像树形的xml而已,他们的内容是相同的,是指后者让标签之间换了行
    格式化之后我们得到的内容应该是:

    <html>
        <head>我是head</head>
        <title>我是title</title>
        <body>
            <p>我是一个p</p>
            <p>我也是一个p</p>
        </body>     
    </html>
  • 解析Soup对象

    对于soup之后的树形结构,我们使用以下方法来获取某个Tag:

    print(soup.title)
    :<title>我是title</title>

    使用下列方法获取文本内容:

    print(soup.title.string)
    : 我是title

    如何获取所有内容呢?

    for string in soup.strings:
        print(string)
    :\r\n
     我是head
     \r\n
     \r\n
     我是title
     \r\n
     \r\n
     我是一个p
     \r\n
     \r\n
     我也是一个p
     \r\n

    对于空行、换行我们当然是需要过滤的:

    for string in soup.stripped_strings:
        print(string)
    
    : 我是head
      我是head
      我是一个p
      我也是一个p
以上就是大概的用法了,推荐博客:静觅 » Python爬虫利器二之Beautiful Soup的用法
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值