Как отказаться от динамических c веб-сайтов (которые требуют нажатия на отдельные списки) с Selenium - PullRequest
0 голосов
/ 18 февраля 2020

Я очень плохо знаком с веб-скребком и python в целом. Я пытался создать автоматизированный способ сбора информации о стартапах на этом сайте: https://www.startupsg.net/directory/startups?sort=-changed

Проблема в том, что страница индекса потребует, чтобы я нажимал на каждый отдельный список запуска, чтобы получить доступ информация мне нужна После этого мне потребуется go перейти на следующую страницу. Пошаговая информация включена в прилагаемую фотографию.

Не очень уверен, с чего начать. Мой текущий прогресс заключается в использовании веб-драйвера для извлечения элементов, представляющих интерес, и это все. Все еще пытаюсь выяснить, как завершить это с конечным продуктом, представляющим собой компиляцию CSV, надеемся, с некоторой помощью от тех из вас, кто намного опытнее разбирается в Интернете. Большое спасибо, ребята, и я заранее прошу прощения за грязный код!

chrome_path = "/Users/andrewyaprs/chromedriver"
driver = webdriver.Chrome(chrome_path)
import time
driver.get("https://www.startupsg.net/profiles/3791")
time.sleep(5)
List = []
Name = driver.find_elements_by_tag_name('h1')
for elem in Name:
    print(elem.text)
Email = driver.find_elements_by_class_name('email')
for elem in Email:
    print(elem.text)
Sector = driver.find_elements_by_xpath('//*[@id="general"]/div/div/div/div[2]/div/div[1]/div[2]/div/div[3]/div[2]')
for elem in Sector:
    print(elem.text)
Socialone = driver.find_elements_by_xpath('//*[@id="general"]/div/div/div/div[2]/div/div[2]/div/ul[2]/li[1]/a')
for elem in Socialone:
    print(elem.get_attribute("href"))
Socialtwo = driver.find_elements_by_xpath('//*[@id="general"]/div/div/div/div[2]/div/div[2]/div/ul[2]/li[2]/a')
for elem in Socialtwo:
    print(elem.get_attribute("href"))
Socialthree = driver.find_elements_by_xpath('//*[@id="general"]/div/div/div/div[2]/div/div[2]/div/ul[2]/li[3]/a')
for elem in Socialthree:
    print(elem.get_attribute("href"))
Description = driver.find_elements_by_xpath('//*[@id="general"]/div/div/div/div[2]/div/div[1]/div[2]/div/div[9]/div[2]/div/div[1]/div/div')
for elem in Description:
    print(elem.text)
Employees = driver.find_elements_by_xpath('//*[@id="general"]/div/div/div/div[2]/div/div[1]/div[2]/div/div[5]/div[2]')
for elem in Employees:
    print(elem.text)
Origin = driver.find_elements_by_xpath('//*[@id="general"]/div/div/div/div[2]/div/div[1]/div[2]/div/div[2]/div[2]')
for elem in Origin:
    print(elem.text)```

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