Я пытаюсь получить информацию с сайта здесь, в Германии. Поскольку этот сайт загружает больше контента, нажав стрелку вниз в нижней части сайта, я думал, что должен использовать selenium
для достижения процесса загрузки. После этого скрипт должен получить необходимую информацию через BeautifulSoup и извлечь его в файл CSV.Python3, Selenium, BeautifulSoup4 stack не загружается дополнительная информация с сайта
К сожалению, мой скрипт, похоже, не нажимает на нужную кнопку, поэтому я получаю только первую часть информации.
Мой код выглядит следующим образом:
import csv
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
with open('shoop.csv','w', encoding='utf-8') as csv_file:
csv_writer = csv.writer(csv_file, delimiter=";")
csv_writer.writerow(['Headline', 'Cashback'])
driver = webdriver.Firefox()
driver.get('https://www.shoop.de/stoebern/haus_technik/3/popular/')
driver.find_element_by_class_name('icon-down_open_big').click()
r = driver.page_source
driver.quit()
soup = BeautifulSoup(r)
for advertiser in soup.find_all('div', {'class': 'merchant_item'}):
headline = advertiser.find('h3', {'class':'merchant_name'}).text
cashback = advertiser.find('span', {'class':'rates_number'}).text
liste = ([headline, cashback])
print(liste)
csv_writer.writerow(liste)
csv_file.close()
Thx Лева, который спас мой день. С небольшим дополнительным временем сна в моем коде экспорт в csv работает по назначению. –