Python 基于DIV重命名HTMLs

Python 基于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

尽管我研究了前面的问题(),但对于我来说,仍然不清楚如何根据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 - 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')