Python 修改html文件(查找并替换href url并保存)

Python 修改html文件(查找并替换href url并保存),python,html,replace,href,Python,Html,Replace,Href,编辑1: 我在我的原始代码中发现了一个错误,它给了我打字错误。答案就在这里。代码现在正在运行 我有一个html文件,我想为其他文件更改一些href url,并将其再次保存为html文件。我的目标是,当我打开html文件并单击链接时,它会将我带到一个内部文件夹,而不是一个internet url(原始url) 我的意思是,我想把这个:转换成这个: 我试图用bs4打开文件并使用replace函数,但得到TypeError:“NoneType”对象不可调用 这是我现在的代码: #Dict将原始链接与

编辑1:

我在我的原始代码中发现了一个错误,它给了我打字错误。答案就在这里。代码现在正在运行

我有一个html文件,我想为其他文件更改一些href url,并将其再次保存为html文件。我的目标是,当我打开html文件并单击链接时,它会将我带到一个内部文件夹,而不是一个internet url(原始url)

我的意思是,我想把这个:
转换成这个:

我试图用bs4打开文件并使用replace函数,但得到
TypeError:“NoneType”对象不可调用

这是我现在的代码:


#Dict将原始链接与我的链接联系起来,并替换它们
links_dict={original_link1:my_link1,original_link2:my_link2}}等等。。
#获取要循环的链接列表,并在html文件中找到它们
原始链接=链接目录键()
soup=BeautifulSoup(打开(html_文件),“html.parser”,encoding=“utf8”)
#这一部分是我陷入困境的地方,理论是通过“原始链接”循环的
如果找到了这些链接中的任何一个,请将其替换为我在“links\u dict”中找到的链接
对于soup.find_all('a',href=True)中的链接:
如果链接中的链接['href']:
link['href']=link['href']。替换(link['href'],links_dict[link['href']]
打开(“new_file.html”,“w”,encoding=“utf8”)作为文件:
file.write(str(soup))

有什么想法吗?

一旦你有一些汤要处理,你应该查找“a”元素,然后检查它们的“href”属性,如果它们与你的dict中的属性匹配,根据需要替换

我会制作“original_link1”等regexp,以便您可以轻松匹配


碰巧,我相信您的问题已经得到了回答,请参见

我已经尝试了该解决方案,这就是我得到TypeError的原因:“NoneType”对象不可调用。我将编辑我的代码,向您展示我是如何做到的