怎么用Python导出HTML网页为纯文本txt文件?一分钟教会你

在你的日常生活与职场中,时常会需要将网络文档保存以便将来参考。传统的手动复制与粘贴方式不仅效率低下、耗时耗力,还可能因操作失误导致信息错误。幸运的是,Python为我们提供了更为便捷的解决方案。接下来将向您展示一个高效的程序,它们能够让您轻松地将网页信息转换为文档格式,从而大幅提升您的工作效率。

首先,确保你已经安装了所需的库。如果没有,可以通过以下命令安装:

pip install requests beautifulsoup4

接下来是程序主要代码:

import requests
from bs4 import BeautifulSoup

# 网页URL这里需要你替换成你自己所需要的url值
url = 'http://example.com示例网址,请替换成你自己的'

# 发送HTTP请求获取网页内容
response = requests.get(url)
web_content = response.text

# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(web_content, 'html.parser')

# 提取网页中的文本内容
# 这里使用strip=True来去除每行末尾的空白字符,包括换行符
# 使用joinlines=True来将所有文本合并为一个长字符串,去除中间的空白行
text = '\n'.join(soup.stripped_strings)

# 保存文本内容到txt文件
with open('output.txt', 'w', encoding='utf-8') as file:
    file.write(text)

print('网页内容已提取并保存到文本文件。')

这段 Python 代码的作用是从指定的 URL 下载网页内容,并将其纯文本内容提取出来,最后保存到一个名为 "output.txt" 的文本文件中。以下是每一步骤的详细解释:

1. 导入库:

`import requests` 导入了 `requests` 库,这是一个用于发送 HTTP 请求的库,可以方便地获取网页内容。

2. 定义要爬取的网址:

这里定义了一个字符串变量 `url`,它指向了示例网址 `'http://example.com'`。在实际应用中,您可以替换为想要爬取的实际网址。

3. 发送 GET 请求并获取响应:

使用 `requests.get()` 函数向指定的 `url` 发送一个 HTTP GET 请求。返回的对象 `response` 包含了服务器对请求的响应,其中包括了网页的原始内容以及其他响应头信息。

4. 提取响应的文本内容:

从 `response` 对象中获取网页的 HTML 内容作为字符串,赋值给变量 `web_content`。

5. 解析 HTML 内容:

使用 `BeautifulSoup` 创建一个解析器对象 `soup`,传入 `web_content` 作为要解析的 HTML 文档,同时指定了解析器类型为 Python 自带的 'html.parser'。`soup` 对象可以用来遍历、搜索、修改和提取 HTML 文档中的内容。

6. 提取并合并网页中的所有文本:

`stripped_strings` 是 `BeautifulSoup` 对象的一个生成器,它会迭代去除标签后所有的字符串内容(即去除字符串两边的空白字符,并忽略空字符串),并将这些文本内容连接起来,每个文本块之间用换行符 `\n` 分隔,最终得到一个只包含纯文本内容的字符串 `text`。

7. 将文本内容写入文件:

使用上下文管理器 `with` 打开一个名为 `'output.txt'` 的文件,模式设为 `'w'` 表示覆盖写入,同时指定了编码为 `'utf-8'` 以支持多语言字符。接着调用 `file.write(text)` 将 `text` 字符串内容写入到此文件中。

8. 输出提示信息:

最后,程序打印出一条消息,表明网页内容已经成功提取并保存到了文本文件中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值