BeautifulSoup去除html中的标签,获取文本

In [1]: from bs4 import BeautifulSoup

In [2]: s = '''<div class="markdown_views">
...: <p>BeautifulSoup是Python的一个库,最主要的功能就是从网页
...: 爬取我们需要的数据。BeautifulSoup将html解析为对象进行处理,全部页面转变
...: 为字典或者数组,相对于正则表达式的方式,可以大大简化处理过程。</p>
...:
...: <h3 id="0x01-安装"><a name="t0"></a>0x01 安装</h3>
...:
...: <p>建议安装BeautifulSoup 4版本 利用pip进行安装:</p>'''

 

In [4]: bs = BeautifulSoup(s,"html.parser")

In [5]: print(bs.text)
---------------------------------------------------------------------------
UnicodeEncodeError Traceback (most recent call last)
<ipython-input-5-0ea5f8e54d3a> in <module>()
----> 1 print(bs.text)

UnicodeEncodeError: 'ascii' codec can't encode character u'\u662f' in position 14: ordinal not in range(128)

 

In [15]: import sys

In [16]: reload(sys
...: )
<module 'sys' (built-in)>

In [17]: sys.setdefaultencoding('utf-8')

In [18]: bs = BeautifulSoup(s,"html.parser")

In [19]: print(bs.text)

BeautifulSoup是Python的一个库,最主要的功能就是从网页爬取我们需要的数据。BeautifulSoup将html解析为对象进行处理,全部页面转变为字典或者数组,相对于正则表达式的方式,可以大大简化处理过程。
0x01 安装
建议安装BeautifulSoup 4版本 利用pip进行安装:

In [20]:

posted @ 2018-08-09 11:40  hayabky  阅读(7248)  评论(0)    收藏  举报