Извлечение данных из онлайн-атласа

342
KAE

Есть онлайн- атлас, из которого я хотел бы извлечь значения. Атлас предоставляет инструмент («Запрос») для извлечения значений, когда вы щелкаете по местоположению или включаете регион на карте, или вы можете указать широту / долготу точки, в которой вы хотите получить значение. Вместо того, чтобы извлекать значения вручную, я хотел бы автоматизировать извлечение данных с помощью командной строки; Либо я напишу скрипт для извлечения значений для входной долготы / широты, либо вытащу все значения для всех местоположений, при условии, что я также могу получить широту / долготу возвращаемых точек. Какая утилита может очистить данные из атласа и стать частью сценария командной строки? SCRAPYвыглядит многообещающе, но, возможно, есть лучшие инструменты для этого. Или, если бы вы могли сказать мне, какой язык использует инструмент «Запрос», это помогло бы мне начать работу.

4

1 ответ на вопрос

2
speakr

Этот сайт интенсивно использует JavaScript (jQuery).

Для начала я предлагаю сделать следующее:

  1. Установите Firefox
  2. Установите дополнение Tamper Data
  3. Загрузите сайт, начните фальсификацию
  4. Поэкспериментируйте с инструментом запросов и посмотрите на запросы XMLHttpRequest, которые вы автоматически генерируете (см. Журналы данных несанкционированного доступа)

Возможно, этого уже достаточно для определения соответствующих запросов и того, как они создаются. Если это не сработает, вам придется прочитать исходники javascript.

Поскольку все запросы, скорее всего, являются запросами HTTP GET и HTTP POST с конкретными параметрами, вы можете начать автоматизацию, например, с помощью такого инструмента, как curl. Кроме того, scrapyдействительно выглядит многообещающе и, кажется, приносит много приятных функций (хотя сам не проверял).


Вместо использования Firefox с надстройкой Temper Data, вы также можете использовать любой другой браузер для захвата HTTP-трафика, например, с помощью wireshark .

Похожие вопросы