<MyRusakov.ru />

Laravel от А до Я

Laravel от А до Я

Данный курс научит Вас создавать профессиональные сайты быстро и легко с помощью Laravel. Курс состоит из 7 разделов, в которых Вы с нуля освоите данный фреймворк до уровня, достаточном для создания любых сайтов.

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

К курсу прилагается и очень ценный Бонус: «Создание сайта на Laravel». В этом Бонусе Вы увидите практический пример создания полноценного сайта на Laravel.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Обработка html таблиц с Python и Selenium

Обработка html таблиц с Python и Selenium

Здравствуйте! В сегодняшней статье мы рассмотрим как распарсить HTML таблицу при помощи Python и Selenium webdriver. И прежде всего создадим html файл с примером таблицы.


<!DOCTYPE html>
<html>
<style>
table, th, td {
  border:1px solid black;
}
</style>
<body>

<h2>A basic HTML table</h2>

<table style="width:100%">
  <tr>
    <td>Язык</td>
    <td>Рейтинг</td>
  </tr>
  <tr>
    <td>Python</td>
    <td>10</td>
  </tr>
  <tr>
    <td>JavaScript</td>
    <td>6</td>
  </tr>
</table>



</body>
</html>




Если все сделано правильно, то в браузере должна появиться таблица.

Далее скачиваем selenium web driver для Firefox. По адресу https://github.com/mozilla/geckodriver/releases/. Называется он geckodriver. Необходимо скачать архив и распаковать его.


# Импортируем  модули драйвера
import sys
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# В экземпляре класса передаем путь к exe файлу  вебдрайвера 

driver = webdriver.Firefox(executable_path=r'путь_к_драйверу/geckodriver.exe')


# ссылка на html таблицу,
# впереди обязательно прописываем file:///
link2 = "file:///C:/Users/УЗИ/Desktop/Таблица.html"

print(link2)

try:
  # открываем ссылку в браузере
  driver.get(link2)

  # находим количество строк в таблице
  rows = len(driver.find_elements(by=By.XPATH, value = '/html/body/table/tbody/tr'))
  # подсчет количества столбцов 
  cols = len(driver.find_elements(by=By.XPATH, value = '/html/body/table/tbody/tr[1]/td'))


  print(rows)
  print(cols)

  # итерация по строкам и столбцам таблицы
  for r in range(2, rows+1):
    for c in range(1, cols+1):
        value = driver.find_element(by=By.XPATH, value = '/html/body/table/tbody/tr['+str(r)+']/td['+str(c)+']').text
        print(value, end = '           \n')
finally:  
  time.sleep(30)
  # обязательно  прописываем выход из вебдрайвера
  driver.quit()

# вывод

/*
Python
10
JavaScript
6
*/

В нашем примере используются локаторы типа /html/body/table/tbody/tr. Для его получения, необходимо сперва зайти в инструменты разработчика, выбрать элемент из ячейки таблицы и правой кнопкой мыши скопировать XPATH.

По ним вебдрайвер находит искомые элементы. Метод find_elements находит все элементы с данным локатором и возвращает список. Далее при помощи метода len вычисляется длина списка.

Для парсинга таблицы, вычисленные значения , передаются в цикл for, где они подставляются в локатор следующим образом tr['+str(r)+']/td['+str(c)+']. Методом text получаем текст содержащийся по данной ячейке таблицы.

Таким образом, последовательно, можно пройтись по достаточно крупной таблице с какого-либо сайта.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.