使用htmlparse替换html文件(python)中的图像和css源URL
我正在尝试编写一个脚本来下载一个网页,包括所有的图片和样式表——也就是说,本地托管的版本看起来与原始版本完全相同 最初我只是下载图像,但现在我意识到我必须(当然)编辑html源代码,以便img src实际上指向本地托管的图像。由于我必须更改html源代码,因此我决定最好只更新本地托管的文件,以指向远程托管的图像和样式表 这就引出了我的问题,我可以使用htmlpasse搜索样式表和图像标记,然后用更新的版本替换它们的链接吗 我已经看过了htmlparse文档,但我对python还是相当陌生,所以有些部分还不清楚。我认为可以使用:使用htmlparse替换html文件(python)中的图像和css源URL,python,html-parsing,Python,Html Parsing,我正在尝试编写一个脚本来下载一个网页,包括所有的图片和样式表——也就是说,本地托管的版本看起来与原始版本完全相同 最初我只是下载图像,但现在我意识到我必须(当然)编辑html源代码,以便img src实际上指向本地托管的图像。由于我必须更改html源代码,因此我决定最好只更新本地托管的文件,以指向远程托管的图像和样式表 这就引出了我的问题,我可以使用htmlpasse搜索样式表和图像标记,然后用更新的版本替换它们的链接吗 我已经看过了htmlparse文档,但我对python还是相当陌生,所以有
HTMLParser.handle_data(data)
This method is called to process arbitrary data. It is intended to be overridden by a
derived class; the base class implementation does nothing.
并添加我自己的替换类?还是我完全错了
当然,另一个选择是使用正则表达式搜索标记并替换标记后面的文本,但这可能会变得非常复杂,因此我想知道HTMLPase是否能提供一个更简单的解决方案
我意识到BeautifulSoup将是理想的解决方案,但我将在我的公司分发完成的工具,因此很遗憾,我不能使用任何第三方模块。类似地,我希望该工具与平台无关,因此很遗憾不能使用wget
感谢您的任何输入=)如果您将Python程序打包为自包含的二进制文件(甚至不需要Python运行时),那么您可以随心所欲地使用任何模块:我相信
wget-H-k-p
会做您想做的事情——无需自己编写代码。(请参阅)。我希望我可以使用wget,它会让生活变得更加轻松-不幸的是,我不希望这个工具也与平台无关。抱歉,我应该在最初的帖子中提到,我将对其进行编辑-为你的建议干杯=)据我所知,wget
运行在Windows、Linux、Mac和几乎任何其他类似UNIX的平台上。如果你真的想自己编写代码,解析HTML页面是不够的——您还需要下载并解析页面的所有嵌入和外部样式表。这是真的,尽管它不是windows自带的-如果我找不到任何其他容易工作的东西,那么wget将是我认为最好的选择。谢谢