html文件怎么迭代,迭代多个文件并使用Beautiful Soup从HTML附加文本

我有一个下载的HTML文件的目录(其中46个),我试图遍历每个文件,读取它们的内容,去掉HTML,并只将文本附加到文本文件中。但是,我不确定我在哪里搞砸了,因为我的文本文件中什么也没写?在import os

import glob

from bs4 import BeautifulSoup

path = "/"

for infile in glob.glob(os.path.join(path, "*.html")):

markup = (path)

soup = BeautifulSoup(markup)

with open("example.txt", "a") as myfile:

myfile.write(soup)

f.close()

----更新----

我已经更新了我的代码如下,但是文本文件仍然没有被创建。在

^{pr2}$

-----更新2---

啊,我发现我的目录不正确,所以现在我:import os

import glob

from bs4 import BeautifulSoup

path = "c:\\users\\me\\downloads\\"

for infile in glob.glob(os.path.join(path, "*.html")):

markup = (infile)

soup = BeautifulSoup(markup)

with open("example.txt", "a") as myfile:

myfile.write(soup)

myfile.close()

执行此操作时,我得到以下错误:Traceback (most recent call last):

File "C:\Users\Me\Downloads\bsoup.py, line 11 in

myfile.write(soup)

TypeError: must be str, not BeautifulSoup

我通过改变myfile.write(soup)

到myfile.write(soup.get_text())

-----更新3----

它现在正常工作,工作代码如下:import os

import glob

from bs4 import BeautifulSoup

path = "c:\\users\\me\\downloads\\"

for infile in glob.glob(os.path.join(path, "*.html")):

markup = (infile)

soup = BeautifulSoup(open(markup, "r").read())

with open("example.txt", "a") as myfile:

myfile.write(soup.get_text())

myfile.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值