Python 基于DIV重命名HTMLs
尽管我研究了前面的问题(),但对于我来说,仍然不清楚如何根据HTML文件中div的H1重命名文件夹x中的所有HTMLPython 基于DIV重命名HTMLs,python,html,Python,Html,尽管我研究了前面的问题(),但对于我来说,仍然不清楚如何根据HTML文件中div的H1重命名文件夹x中的所有HTML <div id="page_header" class="page_header_email_alerts"> <h1> <span itemprop="headline">Redhill Biopharma's (RDHL) CEO Dror Ben Asher on Q4 2014 Results - Earning
<div id="page_header" class="page_header_email_alerts">
<h1>
<span itemprop="headline">Redhill Biopharma's (RDHL) CEO Dror Ben Asher on Q4 2014 Results - Earnings Call Transcript</span>
</h1>
</div>
基于评论的实质性编辑:
听起来好像你有一个满是HTML文件的文件夹,并希望根据文件中文章的标题来命名它们
我会使用beautiful soup库来解析各个文件和HTML,比如:
导入操作系统
#这假定您拥有存储在变量名目录中的文件夹的路径
对于os.listdir(目录)中的文件名:
如果filename.endswith(“.html”):
以html格式打开(文件名为“r”):
html\u text=html.read()
soup=BeautifulSoup(html,'html.parser')
headline=soup.find(itemprop='headline').text
重命名(文件名,标题+'.html')
这段代码中也有一些假设:所有文件都有一个带有itemprop标题的标题,并且只有标题有itemprop标题。如果这两个假设不正确,你需要使用BeautifulSoup中的其他方法来查找每次的标题。这将需要找到一些关于标题标签始终相同的特性,并根据这些特性进行搜索
有关如何使用靓汤的更多详细信息:
看来你想要一个动态的网站,里面有不同的文章。但是,在制作过程中编辑网站的
.html
文件不是一个好的做法。相反,创建一个web服务器,动态地从数据库中提取文章,并根据输入的url为其提供服务。html文件将使用数据库在服务器上呈现,并作为html文件交付给用户。这消除了编写者处理html文件的需要,因为您只需与数据库交互即可添加文章。我建议使用Node.js。抱歉格式化,我在移动电话上。
import os
from bs4 import BeautifulSoup
import textwrap
directory ='C:/Research syntheses - Meta analysis/SeekingAlpha/test/'
for filename in os.listdir(directory):
if filename.endswith('.html'):
fname = os.path.join(directory,filename)
with open(fname, 'r') as f:
soup = BeautifulSoup(f.read(),'html.parser')
headline = soup.find(itemprop='headline').text
os.rename(filename, headline+'.html')