Я пытаюсь импортировать videoId из папки pickle, а затем распечатать описание видео YouTube. И я получаю эту ошибку = у объекта 'bytes' нет атрибута 'findAll'i хочу извлечь описание с videoid и title в CSV
cwd=os.getcwd()
parent_folder=os.path.join(cwd,'Data') pickle_out=open("C:/Users/india/Desktop/PARUL/Data/Pickle/vid_ids_dict.pickle","rb")
vid_id_dict=pickle.load(pickle_out)
dataset_folder=os.path.join(parent_folder,"Dataset")
if not os.path.exists(dataset_folder):
os.makedirs(dataset_folder)
csv_file_path= os.path.join(parent_folder,'main.csv')
base = "https://www.youtube.com/watch?v="
for keys, values in vid_id_dict.items():
for key in keys:
query_dataset_folder=os.path.join(dataset_folder,key)
if not os.path.exists(query_dataset_folder):
os.makedirs(query_dataset_folder)
for VidID in values:
r = requests.get(base+VidID)
soup = bs(r.text,'html.parser').encode("utf-8")
name=VidID+".txt"
save_description_link=os.path.join(query_dataset_folder,name)
f= open(save_description_link,"a+")
for title in soup.findAll('p', attrs={'id': 'eow-description'}):
description=title.text.strip()
f.write(description)
print(description)
f.close()
for title in soup.findAll('span', attrs={'class': 'watch-title'}):
vid_title= title.text.strip()
print(vid_title)
with open(csv_file_path, 'a+') as csvfile:
fieldnames = ['Video id', 'Title','Description','Category']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writerow({'Video id': VidID, 'Title': vid_title, 'Description':description,'Category':key})
error-
AttributeError Traceback (последний вызов был последним)
в
35 f = open (save_description_link, "a +")
36
---> 37 для заголовка в soup.findAll ('p', attrs = {'id': 'eow-
описание'}):
38 description = title.text.strip ()
39 f.write (описание)
AttributeError: у объекта 'bytes' нет атрибута 'findAll'