­

Python带你朗读网页

  • 2019 年 10 月 6 日
  • 筆記

万能的Python大法可以做很多有趣的事情,那我们今天来看看使用简单的Python来实现对一个网页的朗读吧!

首先我们需要装一些必要的库:

readability

它是用来提取网页内的内容的

pip install readability-lxml

goose

它是一个文章提取器,我们用它来进行文章的提取

pip install goose3

baidu-aip

百度提供的 Python SDK,接口文档:http://ai.baidu.com/docs#/TTS-Online-Python-SDK/top。

pip install baidu-aip

对于百度的SDK我们也来简单的教大家用一下:

浏览器输入网址登陆:https://cloud.baidu.com/?from=console

找到语音识别:

点进去创建应用:

输入一些有用的创建信息:

回到管理控制台,获取应用的APPID,apikey,secretkey:

写代码的时候会用到,来调用这个接口

pydub

它可以用来生成音频文件,在 Windows 环境需要到 https://ffmpeg.zeranoe.com/builds/ 下载 FFmpeg,并将其配置到环境变量中(如果是使用ubuntu系统,还需要再安装下依赖apt-get install libav-tools)

需要在AudioSegment这个类中,把变量converter换成ffmpeg的路径:

pip install pydub

playsound

播放音频文件用到的包

pip install playsound

现在所有的包都安装完毕了,我们可以来安心敲代码了,完成网页到音频的转换。

首先导入用到的包:

import uuid

import re

import os

import argparse

from pydub import AudioSegment

from aip import AipSpeech

from playsound import playsound

from goose3 import Goose

from goose3.text import StopWordsChinese

调用百度语言的api,传入APP_ID, API_KEY, SECRET_KEY:

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

定义函数:文字转化成声音:

定义从网页获取文章的函数:

将音频文件合并:

下面我们就可以运行我们的程序了: