Я использую Selenium для очистки людей, которые также задают вопросы и ответы в Google, и хочу экспортировать результаты (вопросы, ответы и URL) в файл csv
, но я хочу, чтобы каждый из них был в разных строках.
Все идет хорошо Я даже могу распечатать все в разных строках, но при проверке вывода csv
вопрос и ответ находятся в одной строке.
Мой код выглядит так:
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.firefox.options import Options
from tqdm import tqdm
from time import sleep
import itertools
import threading
import time
import sys
import csv
import pandas as pd
query = "nflx"
clicks = 4
def search(query,clicks):
with webdriver.Firefox() as driver:
driver.get("https://www.google.com?hl=en")
driver.find_element_by_xpath("//input[@aria-label='Search']").send_keys(query)
driver.find_elements_by_xpath("/html/body/div/div[3]/form/div[2]/div[1]/div[3]/center/input[1]")
searchbtn = driver.find_elements_by_xpath("//input[@aria-label='Google Search']")
searchbtn[-1].click()
#Questions with answers. Have to clean a little bit.
paa = driver.find_elements_by_css_selector('div.related-question-pair')
for i in range(clicks):
paa[i].click()
paa = driver.find_elements_by_css_selector('div.related-question-pair')
list_paa = []
for j in paa:
p = format(j.text)
print(p)
list_paa.append(p)
Для экспорта я пробовал это:
with open('file1.csv', 'w',newline='\n', encoding='utf-8') as file:
writer = csv.writer(file)
for row in list_paa:
writer.writerow(zip(row))
А это:
#Tried this
df = pd.DataFrame(list_paa, columns=["colummn"])
df.to_csv('list.csv', index=False)
Текущий вывод CSV при выполнении search(query,clicks)
:
Требуемый вывод CSV для всех вопросов