Как перемещаться по сайту и извлекать данные с помощью Python

Я не очень программист. Только учится. Я хочу извлечь (публичные) данные о выборах из избирательного органа моей страны, используя Python. Это для академических целей, но я также хочу развить свои навыки программирования. Разумеется, все данные, которые я храню, будут опубликованы.

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

Я хотел бы извлечь голоса для каждой партии, и дополнительные данные представлены полностью дезагрегированными: штат / муниципалитет / округ / центр / таблица. Наконец, я надеюсь сохранить его в формате CSV или XLSX (думаю, я бы использовал openpyxl или же xlsxwriter).

Моя идея состоит в том, чтобы сделать программу, которая:

1) принимает ссылку на вход ( например);

2) Он определяет ссылки для каждого государства слева от HTML (Amazonas, Anzoategui и т. Д.);

3) Для цикла, хотя каждое состояние и находит URL (это HTML, поэтому я думаю, что он будет искать и извлекать <a> тег, верно?) для каждого государства;

4) Повторяется с муниципалитетами;

4) Повторяется с "Parroquia" (графство);

5) Повторяется для каждого избирательного центра;

6) Наконец, для каждой таблицы голосования в каждом центре (1, 2, 3... что угодно);

7) Затем он сохраняет результат для каждой партии ( например, вручную я нажимал имя каждого кандидата, распознавал ЛОГОТИП партии и сохранял ее голоса (в примере 30)). И это также должно хранить данные из "технической таблицы" в конце.

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

1 ответ

Следующее поможет:

from selenium import webdriver - для настройки нового веб-драйвера для перехода на веб-сайты. (Тот, что для Chrome работает довольно хорошо)

from selenium.webdriver.common.by import By - для выбора HTML-элементов с помощью селектора CSS, имени тега, идентификатора и т. д.

from selenium.webdriver.support.ui import WebDriverWait - для настройки минимального времени загрузки URL-адреса для загрузки

from selenium.webdriver.support importpected_conditions as EC - для установки ожидаемых условий, которые необходимо выполнить при ожидании загрузки URL-адреса. Например, условие может ждать, пока все <a> теги были загружены.

from selenium.webdriver.common.keys import Keys - для имитации нажатий клавиш или отправки текста в элемент HTML

из BeautifulSoup импорт BeautifulSoup - для анализа через загруженный документ HTML

import re - включить использование регулярных выражений

import xlwt - для записи в книги Microsoft Excel

from xlutils.copy import copy - для создания копий книг Microsoft Excel

время импорта - для настройки времени приостановки во время выполнения кода Python

import xlrd - для чтения из книг Microsoft Excel

Пакеты для скачивания:

  1. XLRD 0,9,4

  2. xlutils 1.7.1

  3. XLWT 1.0.0

  4. BeautifulSoup 4.4.1

  5. селен 2.48.0

Большинство из вышеперечисленного можно скачать из индекса пакета Python

Другие вопросы по тегам