Я немного новичок в программировании, но я пытался очистить некоторые веб-сайты, просто чтобы попрактиковаться, однако я всегда сталкиваюсь с этой проблемой. Код так прост, как показано ниже.
from bs4 import BeautifulSoup
from selenium import webdriver
import csv
url = 'https://www.reddit.com/r/soccer/'
driver = webdriver.Chrome()
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')
post_box = soup.find_all('div', attrs={'class': '_1poyrkZ7g36PawDueRza-J'})
for info in post_box:
title = info.h3.get_text()
print(title)
filename = 'reddit_soccer.csv'
f = open(filename, 'w')
headers = 'Title\n'
f.write(headers + '\n')
f.write(title + '\n')
f.close()
Теперь, вот проблема, этот код дает мне вывод с заголовками каждого поста на первой странице URL. Но когда я пишу print (title)
в моей IDE, он возвращает только одно сообщение, которое оказывается последним на странице. Я пытался понять, почему это происходит в течение нескольких часов, но я не мог найти причину. Разве это не должно печатать все названия? Если нет ... Как я должен записать этот вывод со всеми заголовками в CSV-файл?
Заранее спасибо и извините за возможные грамматические ошибки.