beautifulsoup 解析文件夹 webscraping 中的每个 html 文件 [关闭]
Posted
技术标签:
【中文标题】beautifulsoup 解析文件夹 webscraping 中的每个 html 文件 [关闭]【英文标题】:beautifulsoup parse every html files in a folder webscraping [closed] 【发布时间】:2017-10-29 03:45:09 【问题描述】:我的任务是从目录中读取每个 html 文件。条件是查找每个文件是否包含标签
(1) <strong>OO</strong>
(2) <strong>QQ</strong>
然后
【问题讨论】:
【参考方案1】:您的write
函数嵌套在for
循环中,这就是为什么您将多行写入index.txt
,只需将write
移出循环并将所有部分文本放入变量@987654325 @像这样:
participants = soup.find(find_participant)
parti_names = ""
for parti in participants.find_next_siblings("p"):
if parti.find("strong", text=re.compile(r"(Operator)")):
break
parti_names += parti.get_text(strip=True)+","
print parti.get_text(strip=True)
indexFile = open('index.txt', 'a+')
indexFile.write(filename + ', ' + title.get_text(strip=True) + ticker.get_text(strip=True) + ', ' + d_date.get_text(strip=True) + ', ' + parti_names + '\n' )
indexFile.close()
更新:
您可以使用basename
来获取文件名:
from os.path import basename
# you can call it directly with basename
print(basename("C:/Users/.../output/100107-.html"))
输出:
100107-.html
【讨论】:
我还有一个问题,我只想要文件名,但输出给了我路径+文件名。我刚刚更新了代码。以上是关于beautifulsoup 解析文件夹 webscraping 中的每个 html 文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
解析目录中的 html 文件并使用 BeautifulSoup 删除特定标签
beautifulsoup 解析文件夹 webscraping 中的每个 html 文件 [关闭]