Я сделал парсер для вещи в стиме, но мне нужно что бы он выводил всё в файл построчно а не в консоль
from selenium import webdriver
import time
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.by import By
options = Options()
options.headless = True
s = Service(executable_path=r'C:\Users\seliv.DESKTOP-3PM6H4R\PycharmProjects\seleniumtests\firefox\geckodriver.exe')
options.binary_location = (r"C:\Program Files\Mozilla Firefox\firefox.exe")
driver = webdriver.Firefox(options=options)
url = 'https://steamcommunity.com/market/listings/730/Fracture%20Case'
driver.get(url=url)
time.sleep(1)
try:
for name in driver.find_elements(By.ID, 'largeiteminfo_item_name'):
print(name.text)
with open('C:/Users/seliv.DESKTOP-3PM6H4R/Desktop/ws/source-page.html', "w") as file:
file.write(name.text)
for element in driver.find_elements(By.ID, 'market_commodity_forsale'):
print(element.text)
with open('C:/Users/seliv.DESKTOP-3PM6H4R/Desktop/ws/source-page.html', "a+") as file:
file.write(element.text )
for items in driver.find_elements(By.XPATH, '/html/body/div[1]/div[7]/div[2]/div[2]/div[4]/div/div[2]/div/div[2]/div/div/div[2]/div[3]/div'):
print(items.text)
with open('C:/Users/seliv.DESKTOP-3PM6H4R/Desktop/ws/source-page.html', "a+") as file:
file.write(items.text)
for ds in driver.find_elements(By.XPATH, '//*[@id="market_commodity_forsale_table"]'):
print(ds.text)
with open(r'C:\Users\seliv.DESKTOP-3PM6H4R\Desktop\ws\source-page.html', "a+") as file:
file.write(ds.text)
except Exception as ex:
print(ex)
finally:
driver.close()
driver.quit()
Данные которые я получил после парсинга вывелись в нужный мне файл, но в одну строку а мне надо что бы они были разделены. Помогите их разделить.
Источник: Stack Overflow на русском