Я пытался очистить магазин метро и создать таблицу, заполненную адресами, именами и телефонными номерами. Однако мой код продолжает давать результаты с ошибками. Ниже мой код
import time
import requests
import csv
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(5)
url1 = 'http://subway.co.kr/storeSearch?page='
url2 = '&rgn1Nm=&rgn2Nm=#storeList'
addresses = []
names = []
phones = []
for i in range(41):
driver.get(url1 + str(i) + url2)
lst = driver.find_elements_by_xpath('/html/body/div/div[2]/div[2]/div[3]/div/div/div[1]/table/tbody/tr')
for row in lst:
addresses.append(lst.find_element(By.XPATH, './td[2]/div/a').text)
names.append(lst.find_element(By.XPATH, './td[1]/a').text)
phones.append(lst.find_element(By.XPATH, './td[4]/div').text)
stores = [{
'address' : props[0],
'name' : props[1],
'phone' : props[2]
} for props in zip(addresses, names, phones)]
with open('stores.csv', 'w') as csvfile:
csvout = csv.DictWriter(csvfile, ['address', 'name', 'phone'])
csvout.writeheader()
csvout.writerows(stores)
, так как мне получить доступ к каждому элементу (адрес, имя, телефон) в каждой строке? Я также добавляю изображение страницы из набора страниц, которые я пытаюсь сканировать.