gpt4 book ai didi

python - 对本地文件夹中的所有文件重复 BeautifulSoup 抓取

转载 作者:行者123 更新时间:2023-12-05 04:05:21 26 4
gpt4 key购买 nike

我在几个文件夹中有数千个 html 文件,我想从评论中提取数据并将其放入 csv 文件中。这将允许我为项目格式化和清理它。例如,我在这个文件夹中有 640 个 html 文件:

D:\My Web Sites\baseball 2\www.baseball-reference.com\boxes\ANA

这是我从单个文件中提取评论并放入 CSV 中的代码:

# import libraries and files
from bs4 import BeautifulSoup, Comment
import re
import csv

# Get Page, Make Soup
soup = BeautifulSoup(open("D:/My Web Sites/baseball 2/www.baseball-reference.com/boxes/ANA/ANA201806180.html"), 'lxml')

# Get Description
game_description = soup.findAll("div", {"scorebox_meta"})
print (game_description)

# Get Comment Data
Player_Data = soup.find_all(string=lambda text:isinstance(text,Comment))
for c in Player_Data:
print c
print "==========="

# Results to CSV
csvfile = "C:/Users/Benny/Desktop/anatest.csv"

with open(csvfile, "w") as output:
writer = csv.writer(output, lineterminator='\n')
writer.writerows(Player_Data)

我需要从每个 html 文件中提取游戏数据(所有数据都嵌套在 html 代码的注释中),将每个游戏文件的单独抓取结果放入单个 CSV 中。非常感谢您对代码的任何帮助。

谢谢,本尼

最佳答案

您可以使用 os.listdir 模块来遍历目录中的所有文件。或者,您也可以使用 glob 模块。

例如:(os.listdir)

import os
path = r"D:\My Web Sites\baseball 2\www.baseball-reference.com\boxes\ANA"

for filename in os.listdir(path):
if filename.endswith(".html"):
fullpath = os.path.join(path, filename)

# Get Page, Make Soup
soup = BeautifulSoup(open(fullpath), 'lxml')
.....

关于python - 对本地文件夹中的所有文件重复 BeautifulSoup 抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51372363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com