如果你想从爬取的内容中提取并生成主要内容(例如文章正文、关键信息等),可以使用一些专门的内容提取工具或库
如果你想从爬取的内容中提取并生成主要内容(例如文章正文、关 键信息等),可以使用一些专门的内容提取工具或库,比如 newspaper3k、readability-lxml或goose3。这些工具能够自动从网页中提取 出核心内容,去除广告、导航栏等无关信息。
下面是一个使用newspaper3k的实例,它可以自动提取网页的标题、 正文、作者、发布日期等信息。
实例:
使用 newspaper3k 提取网页主要内容
1. 安装 newspaper3k
pip install newspaper3k
2. 编写代码
from newspaper import Article
# 目标URL
url = 'https://example.com/article' # 替换为你想
爬取的网页URL
# 创建Article对象
article = Article(url)
# 下载并解析网页
article.download()
article.parse()
# 提取主要内容
print(f"标题: {article.title}")
print(f"作者:
{article.authors}")
print(f"发布日期: {article.publish_date}")
print
(f"正文内容:\n{article.text}")
# 如果需要,可以进一步处理正文内容
# 例如,提取前100个
字符作为摘要
summary = article.text[:100]
print(f"摘要:
{summary}")
3. 运行代码
将上述代码保存为extract_content.py,然后运行:
python
extract_content.py
4. 代码解释
Article(url): 创建一个Article对象,用于表示目标 网页。
article.download(): 下载网页内容。
article.parse(): 解析网页,提取标题、正文、作 者、发布日期等信息。
article.title: 获取网页标题。
article.text: 获取网页正文内容。
article.authors: 获取作者列表。
article.publish_date: 获取发布日期。
实例:
使用 readability-lxml 提取网页主要内容
如果你需要更轻量级的工具,可以使用readability-lxml。
1. 安装
readability-lxml
pip install readability-lxml
2. 编写代码
import requests
from readability import Document
# 目标URL
url = 'https://example.com/article' # 替换为你想
爬取的网页URL
# 发送HTTP请求
response = requests.get(url)
# 使用readability解析网页
doc = Document(response.text)
# 提取主要内容
print(f"标题: {doc.title()}")
print(f"正文内容:
\n{doc.summary()}")
3. 运行代码
将上述代码保存为extract_with_readability.py,然后运行:
python
extract_with_readability.py
4. 代码解释
Document(response.text): 使用readability解析网页 内容。
doc.title(): 获取网页标题。
doc.summary(): 获取网页正文内容(已去除无关 信息)。
实例:
使用 goose3 提取网页主要内容
goose3 是另一个强大的内容提取工具。
1. 安装 goose3
pip
install goose3
2. 编写代码
from goose3 import Goose
# 目标URL
url = 'https://example.com/article' # 替换为你想
爬取的网页URL
# 创建Goose对象
g = Goose()
# 提取主要内容
article = g.extract(url)
# 输出结果
print(f"标题: {article.title}")
print(f"正文内容:\n
{article.cleaned_text}")
3. 运行代码
将上述代码保存为extract_with_goose.py,然后运行:
python
extract_with_goose.py
4. 代码解释
Goose(): 创建Goose对象。
g.extract(url): 提取网页内容。
article.title: 获取网页标题。
article.cleaned_text: 获取网页正文内容。
总结
如果你需要快速提取网页的主要内容,推荐使 用newspaper3k,它功能强大且易于使用。
如果你需要更轻量级的工具,可以选择 readability-lxml或goose3。
这些工具都能自动去除无关内容(如广告、导 航栏等),提取出网页的核心信息。