如何用Python获取网页文本,就像在浏览器中全选并复制一样?
我想要获取“主要内容”,而不是< tag> 主要内容,这里的后者是HTML代码,可以通过urllib.urlopen(url)来获取。
就像你在浏览器中打开网址,选择所有文本,然后复制粘贴一样。
用Python有没有可能做到这一点?
谢谢。
1 个回答
3
看看这个 Beautiful Soup。
Beautiful Soup 是一个用 Python 写的工具,专门用来处理 HTML 和 XML 文件,特别适合快速开发,比如抓取网页数据。它有三个强大的特点:
- 即使你给它的代码有问题,Beautiful Soup 也不会卡住。它会生成一个解析树,这个树大致上能反映你原始文档的结构。通常来说,这样就足够你提取需要的数据了。
- Beautiful Soup 提供了一些简单的方法和 Python 的写法,方便你在解析树中导航、搜索和修改。这就像是一个工具箱,让你可以轻松拆解文档,提取所需内容。你不需要为每个应用程序都写一个新的解析器。
- Beautiful Soup 会自动把输入的文档转换成 Unicode 格式,把输出的文档转换成 UTF-8 格式。你不需要担心编码问题,除非文档没有指定编码,而 Beautiful Soup 也无法自动识别。这种情况下,你只需要告诉它原来的编码是什么。