如果一个人下载一个网页,curl
或者wget
它以 html 的形式出现。
但是,如果我希望将其下载为纯文本(即没有任何 HTML 解析),完全或几乎完全像在 Web 浏览器中清楚地读取它(当然省略任何图像/视频/音频),那将是一种方法要做到这一点?
如果一个人下载一个网页,curl
或者wget
它以 html 的形式出现。
但是,如果我希望将其下载为纯文本(即没有任何 HTML 解析),完全或几乎完全像在 Web 浏览器中清楚地读取它(当然省略任何图像/视频/音频),那将是一种方法要做到这一点?
你不能下载它,它在服务器上不存在。服务器发送 HTML,浏览器的工作是显示它。其中一部分(可以)是显示文本。
事实上,许多网页是相当空的,并在您阅读时加载相关内容。
因此,您需要的是一个工作浏览器,它显示您的文本,然后您需要获取该文本。
您通常会通过从脚本语言实际远程控制浏览器来做到这一点:您以特殊的“守护程序”模式启动浏览器,连接到它,并使用特制的浏览器控制界面(WebDriver)告诉它转到一个 URL,等待一秒钟让浏览器正常呈现您在屏幕上看到的内容,然后告诉它保存为纯文本文件。
就个人而言,我会为此使用pandoc。
pandoc -t plain 'https://example.com/something/'
要保存到文件:
pandoc -t plain 'https://example.com/something/' -o output.txt
显然,这只适用于大多数不依赖 javascript 填充页面的文本网站。