Я работаю на скребке с использованием Selenium.
Я написал сценарий, и он исправляется, но я пытаюсь очистить несколько URL-адресов, а затем записать результаты в JSON.
Сценарий удаляется и печатается успешно, однако в JSON я получаю только один результат - подробности второго URL-адреса (я получаю оба результата при печати).
Как получить обаРезультаты URL?
Я думаю, что мне нужно добавить еще один FOR LOOP для данных JSON, но не могу понять, как его добавить!
Это код, с которым я работаю:
# -*- coding: UTF-8 -*-
from selenium import webdriver
import time
import json
def writeToJSONFile(path, fileName, data):
filePathNameWExt = './' + path + '/' + fileName + '.json'
with open(filePathNameWExt, 'a') as fp:
json.dump(data, fp, ensure_ascii=False)
browser = webdriver.Firefox(executable_path="/Users/path/geckodriver")
urls = ['https://www.tripadvisor.co.uk/Restaurant_Review-g186338-d8122594-Reviews-Humble_Grape_Battersea-London_England.html','https://www.tripadvisor.co.uk/Restaurant_Review-g186338-d5561842-Reviews-Gastronhome-London_England.html']
data = {}
for url in urls:
browser.get(url)
page = browser.find_element_by_class_name('non_hotels_like')
title = page.find_element_by_class_name('heading_title').text
street_address = page.find_element_by_class_name('street-address').text
print(title)
print(street_address)
data = {}
data['title'] = title
data['street_address'] = street_address
filename = 'properties'
writeToJSONFile('./', filename, data)
browser.quit()