Как извлечь пару таблиц с сайта с помощью селена - PullRequest
0 голосов
/ 15 мая 2019

Приветствую всех

Я пытаюсь извлечь таблицы с этого сайта https://theunderminejournal.com/#eu/silvermoon/category/battlepets, но у меня возникли некоторые трудности с этим.мой код и все, что я использовал, не привело ни к какому результату:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time

def getbrowser():
    options = Options()
    options.add_argument("--disable-extensions")
    #options.add_argument('--headless')
    driver = webdriver.Chrome(options=options)
    return driver 
def scrape(): # create scrape engine from scratch
    driver = getbrowser()
    start = time.time()
    site1="https://theunderminejournal.com/#eu/silvermoon/category/battlepets"
    driver.get(site1)
    time.sleep(10)
    tbody = driver.find_element_by_tag_name("table")
    #cell = tbody.find_elements_by_tag_name("tr").text
    for tr in tbody:
       td = tbody.find_elements_by_tag_name("tr") 
       print (td)
    driver.close() 

scrape()

Моя цель - извлечь имя и первую цену из каждого питомца (из всех таблиц) и создать таблицу с этими двумя значениями..

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

Еще раз спасибо за ваше время

1 Ответ

1 голос
/ 15 мая 2019

Получите все имена и цены в 2 списках и используйте их значения по порядку, просто замените команду печати на то, что вы хотите

names = driver.find_elements_by_css_selector("[class='name'] a")
prices = driver.find_elements_by_css_selector(":nth-child(4)[class='price'] span")
i = 0
for x in names
    print (x.text)
    print (prices[i].text)
    i+=1

надеюсь, это поможет.

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