Selenium Python - запись с пробного, кроме Loop To CSV - PullRequest
0 голосов
/ 19 октября 2018

Я написал скрипт, который зацикливает и печатает результаты, я пытаюсь добавить сохранение в CSV, но не могу понять, как это сделать.

У меня есть код для сохраненияон работает на других моих скриптах, но либо печатает только одну строку, либо печатает 3 строки (по одной на каждый цикл.

Как мне это сделать, чтобы он печатал все результаты?

Этокод, с которым я работаю

from selenium import webdriver
    import time

    browser = webdriver.Firefox(executable_path="/Users/**/Downloads/geckodriver")

    browser.get('https://www.tripadvisor.co.uk/Restaurants-g186338-zfn29367-London_England.html#EATERY_OVERVIEW_BOX')

    meci = browser.find_elements_by_class_name('listing')

    filename ="scrape1.1.csv"
    f = open(filename, 'w')
    headers ="Title, URL, Rating\n "

    f.write("")

    while True:
        try:

            meci = browser.find_elements_by_class_name('listing')

            for items in meci:
                title_cont = items.find_element_by_class_name('property_title')
                title = title_cont.text
                href = title_cont.get_attribute('href')
                rating = items.find_element_by_class_name('ui_bubble_rating')
                ratingbubble = rating.get_attribute('alt').replace(' of 5 bubbles', '')

                print(title)
                print(href)
                print(ratingbubble)

            time.sleep(3)
            browser.find_element_by_css_selector('.next').click()
            time.sleep(3)

        except:

            break

    f.write(title + "," + href + "," + ratingbubble + "\n")

    f.close()

    browser.quit()

1 Ответ

0 голосов
/ 19 октября 2018

попробуйте

from selenium import webdriver
import time

browser = webdriver.Firefox(executable_path="C:/Py/pythonv4/gecko/geckodriver")

browser.get('https://www.tripadvisor.co.uk/Restaurants-g186338-zfn29367- 
London_England.html#EATERY_OVERVIEW_BOX')
meci = browser.find_elements_by_class_name('listing')

filename ="scrape1.1.csv"
f = open(filename, 'w')
headers ="Title, URL, Rating\n "

f.write("")

while True:
   try:

    meci = browser.find_elements_by_class_name('listing')

    for items in meci:
        title_cont = items.find_element_by_class_name('property_title')
        title = title_cont.text
        href = title_cont.get_attribute('href')
        rating = items.find_element_by_class_name('ui_bubble_rating')
        ratingbubble = rating.get_attribute('alt').replace(' of 5 bubbles', '')

        print(title)
        print(href)
        print(ratingbubble)
        f.write(title + "," + href + "," + ratingbubble + "\n")
    time.sleep(5)
    browser.find_element_by_css_selector('.next').click()
    time.sleep(1)

except:

    break



f.close()

browser.quit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...