Python网页正文提取神器: readability库详解
在网络爬虫和数据分析领域,我们经常需要从HTML页面中提取主要内容,去除广告、导航栏等无关元素。readability是一个强大的Python库,专门用于从HTML中提取文章的主要内容和元数据。本文将详细介绍readability库的使用方法和基本概念。
1. readability简介
readability-lxml是Mozilla开发的Readability.js的Python移植版本。它使用启发式算法来识别和提取网页中的主要内容,同时去除广告、侧边栏等干扰元素。
主要特点:
- 从HTML中提取文章正文
- 识别文章标题、作者、发布日期等元数据
- 支持多种语言
- 可以处理不规范的HTML
2. 安装
使用pip安装readability-lxml:
pip install readability-lxml
3. 基本使用
3.1 提取文章内容
from readability import Document
import requests
# 获取网页内容
url = "https://example.com/article"
response = requests.get(url)
html_content = response.text
# 创建Document对象
doc = Document(html_content)
# 获取文章标题
title = doc.title()
# 获取文章正文
content = doc.summary()
print(f"标题: {
title}")
print("正文:")
print(content)
3.2 获取元数据
# 获取文章短标题
short_title = doc.short_title()
# 获取文章描述
description = doc.description()
print(f"短标题: {
short_title}")
print(f"描述: {
description}")
4. 高级功能
4.1 自定义选项
readability允许你自定义一些参数来调整提取算法:
from readability import Document
options &#