Рубрики
Без рубрики

Интернет с помощью Python – воспроизводить запросы

Вы заметили пробел в знаниях между обучением, как царапать и практиковать с вашим первым профессионалом … с меткой Python, WebScraping, DataScience.

Вы заметили разрыв в знаниях между обучением, как царапать и практиковать с вашим первым проектом? Учебное пособие по введению учит нас, как царапать, используя красивый суп или скрара на простых данных HTML. После завершения мы думаем себе: «Наконец, все данные во всемирной паутине – это мои». Затем BAM, первая страница, которую вы хотите очистить, является динамичной веб -страницей. Оттуда вы, вероятно, начнете читать о том, как вам нужен селен », но сначала вам нужно выучить Docker. Затем проблема становится более грязной, потому что вы используете машину Windows, так что версия сообщества даже поддерживается? Результатом является лавина более без ответа вопросов, и мы вообще отказываемся от проекта. Я здесь, чтобы сказать вам, что существует техника, которая находится между использованием инструментов для соскоба HTML и изучением селена, который вы можете попробовать, прежде чем прыгать. Лучше всего, это, вероятно, технология, которую вы уже знаете – запросы.

Цели:

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

Обзор:

Метод представляет собой трехэтапную процедуру.

  • Во -первых, мы проверим, является ли веб -сайт правильным кандидатом на эту технику.
  • Во -вторых, мы рассмотрим данные запроса и возврат, используя почтальон.
  • В -третьих, мы напишем код Python.

Инструменты и предварительные условия:

Почтальон Основное понимание веб -царапины базового понимания библиотеки запросов Python

Шаг 1

Мой браузер – Firefox, но я уверен, что Chrome имеет аналогичную особенность. В рамках опции веб -разработчика выберите опцию сети.

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

Теперь вы, возможно, заметили, что происходит много запросов. Так как вы найдете тот, который вам нужен? Хитрость здесь состоит в том, чтобы посмотреть на тип и сам ответ. В моем примере есть много типов JS (JavaScript) и два типа HTML. Поскольку мы пытаемся избежать борьбы с JavaScript, для нас это естественный шаг сначала, чтобы проверить два варианта HTML. К счастью, первый тип HTML – это запрос, который нам нужен. Мы можем сказать, что это правильный выбор, потому что мы можем видеть данные, которые мы хотим в ответе.

Шаг 2

Далее мы будем использовать почтальона, чтобы имитировать запрос. Мы делаем это, чтобы изолировать, осмотреть и подтвердить, что это те данные, которые нам нужны. С помощью Firefox мы щелкаем правой кнопкой мыши, чтобы скопировать и выбрать опцию URL. Затем вставьте в почтальон с правильным типом запроса.

Щелкните правой кнопкой мыши, чтобы скопировать и выбрать форму данных.

В некоторых случаях вам может потребоваться что -то добавить в заголовок, но Postman автозаполняется. Так что в этом примере это не обязательно. Затем запустите его.

Данные выглядят хорошо. Это специальная HTML -страница, которую мы можем очистить.

Шаг 3

Последним шагом является написание кода Python. Поскольку это не учебник для Python или Python, я не собираюсь подробно описать на этом шаге, но я расскажу вам, что я сделал. Я немного испортил запросы и понял, что могу получить те же данные без кода округа, поэтому моя форма данных является численной. Что означает, что использование диапазона – это нормально. Вот мой код для создания запроса, который получает весь HTML для всех этих страниц.

import requests
import json
request_list = []
for i in range(1,84):
    response = requests.post(f"https://mvic.sos.state.mi.us/Voter/SearchByCounty?CountyID={i}", verify=False)
    request_list.append(response.text)

При этом мы можем использовать комбинацию анализатора HTML и запросов для получения динамических данных.

Бонусный совет:

Вот веб -сайт, который может превратить запросы на завиток в код Python.

https://curl.trillworks.com/

Круто, верно? Вы можете использовать это, если ваш запрос прост, или вы просто чувствуете себя ленивым. Будьте осторожны, это не работает все время, и некоторые заголовки, возможно, нужно пострадать еще.

Вывод

Мы рассказали, как использовать веб -браузер, почтальон и библиотеку запросов, чтобы продолжить ваше путешествие в Интернет. Промежуточная техника для тех, кто изучает соскоба. Удачи!

Оригинал: “https://dev.to/albertulysses/web-scraping-with-python-reproducing-requests-2395”