Python - веб-соскоб <table> - PullRequest
       7

Python - веб-соскоб <table>

0 голосов
/ 27 февраля 2019

Я пытаюсь написать скрипт на Python, который извлекает данные из моих школ (пожалуйста, введите правильное английское слово для расписания, показывающего отсутствие учителей), который выглядит следующим образом (я пытался максимально упростить его):

<table class="mon_list">
  <tr class='list odd'><td class="list inline_header" colspan="8" >Name of the school class</td></tr>
  <tr class='list even'><td>Missing teacher</td><td>Substitute teacher</td><td>something</td></tr>
  <tr class='list odd'><td>Missing teacher</td><td>Substitute teacher</td><td>something</td></tr>

  <tr class='list even'><td class="list inline_header" colspan="8" >Name of the school class</td></tr>
  <tr class='list odd'><td>Missing teacher</td><td>Substitute teacher</td><td>something</td></tr>
  ...
</table>

(шаблон повторяется для всех школьных классов с измененным расписанием)

Ссылка на вырез фактического веб-сайта: https://drive.google.com/file/d/16ZMnTbG6gRo-pGwrvmLSOGxJvedHeNT6/view?usp=sharing

Я хочу вседанные в соответствующих строках после имени моего класса.

Я дошел до цикла, который перебирает все элементы <tr> и проверяет, соответствует ли их содержимое указанной строке (название моей школыкласс), но это не помогает в этом случае, потому что соответствующие строки не являются его дочерними объектами.

Проблема в том, что это всего лишь один большой <table>, где все расписания для всех классов с изменением вих графики перечислены.

1 Ответ

0 голосов
/ 27 февраля 2019

Используйте для этого библиотеку pandas. Этот код будет отлично работать, предоставляя вам все таблицы в html-строке:

import pandas as pd
raw=pd.read_html("html string goes here")

, вы получите все таблицы из html и сможете получить к ним доступ через:

first_table=raw[0]
second_table=raw[1]

и т. Д. В зависимости от количества таблиц в html-файле курса.

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