bs4修改html文件和保存

 


一、需求

将2个html文件保存到本地浏览器,例如:

A页面(我的博客主页)

 

 

B页面(爬虫四大金刚)

 

然后将A页面中的爬虫链接,链接的a标签中的href属性修改成本地B页面的地址,实现在本地浏览A页面跳转到B页面

二、代码

复制代码
parent_page=r"C:\Users\ffm11\Desktop\Maple_feng - 博客园.html"
sub_page=r"C:\Users\ffm11\Desktop\爬虫四大金刚:requests,selenium,BeautifulSoup,Scrapy - Maple_feng - 博客园.html"

with open(parent_page, 'r',encoding="utf-8") as file:
    pcontent = file.read()

sp = BeautifulSoup(pcontent, 'lxml')
'''
<a class="postTitle2" href="https://www.cnblogs.com/angelyan/p/10496950.html">
[置顶]    爬虫四大金刚:requests,selenium,BeautifulSoup,Scrapy
</a>
'''
text=sp.find_all('a',class_='postTitle2')[0].get_text()
print(text)
new_tag = sp.new_tag("a")
new_tag.attrs = {"href":sub_page,"class":"postTitle2"}
new_tag.string  = text
# replace the paragraph using `replace_with` method

sp.find_all('a',class_='postTitle2')[0].replace_with(new_tag)
# open another file for writing
with open(parent_page, 'w',encoding="utf-8") as fp:
    # write the current soup content
    fp.write(sp.prettify())
复制代码

 

posted @   Maple_feng  阅读(3056)  评论(3编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示