python3与Beautiful Soup库

BeautifulSoup库主要用于处理HTML和XML格式的文件,常用于网络爬虫。
但是BeautifulSoup库的3版本已不再更新,所以现在主要来说下4版本及之后的版本。
首先是安装:
安装文件在这里
使用pip 安装4版本时要注意应该用

pip install bs4

然后就是库的引用格式的改变:
3版本:

from BeautifulSoup import BeautifulSoup          # For processing HTML
from BeautifulSoup import BeautifulStoneSoup     # For processing XML
import BeautifulSoup                             # To get everything

4版本:

import bs4                                      # To get everything

在使用时也有一些差别。具体可参照这里,要注意的是这里的示例是在python2中的,需要自行转换成python3(示例中仅仅只需要把print后的内容加上小括号就可以运行了)。而且示例是基于3版本的。
例如实例中:

from BeautifulSoup import BeautifulSoup
import re

doc = ['<html><head><title>Page title</title></head>',
       '<body><p id="firstpara" align="center">This is paragraph <b>one</b>.',
       '<p id="secondpara" align="blah">This is paragraph <b>two</b>.',
       '</html>']
soup = BeautifulSoup(''.join(doc))

print soup.prettify()
# <html>
#  <head>
#   <title>
#    Page title
#   </title>
#  </head>
#  <body>
#   <p id="firstpara" align="center">
#    This is paragraph
#    <b>
#     one
#    </b>
#    .
#   </p>
#   <p id="secondpara" align="blah">
#    This is paragraph
#    <b>
#     two
#    </b>
#    .
#   </p>
#  </body>
# </html>

我们在4版本中就应该改为

from bs4 import BeautifulSoup
import re

doc = ['<html><head><title>Page title</title></head>',
       '<body><p id="firstpara" align="center">This is paragraph <b>one</b>.',
       '<p id="secondpara" align="blah">This is paragraph <b>two</b>.',
       '</html>']
soup = BeautifulSoup(''.join(doc))

print(soup.prettify())
# <html>
# <head>
#  <title>
#   Page title
#  </title>
# </head>
# <body>
#  <p align="center" id="firstpara">
#   This is paragraph
#   <b>
#    one
#   </b>
#   .
#   <p align="blah" id="secondpara">
#    This is paragraph
#    <b>
#     two
#    </b>
#    .
#   </p>
#  </p>
# </body>
#</html>

可以看出输出是有一些差别的,体现在第一个 < /b >出现的位置,还有一些小差别就自己探索吧。
还有一点就是4版本中处理HTML和XML只需要一个函数就可以了,而不需要3版本中的BeautifulSoup和BeautifulStoneSoup两个函数分别处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值