2015-07-13 1 views
-4

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

Я хотел бы загрузить внутридневные исторические ценности некоторых акций на веб-сайте Frankfurt Boerse. Позвольте мне взять этот капитал, например: http://www.boerse-frankfurt.de/en/equities/adidas+ag+DE000A1EWWW0/price+turnover+history/tick+data#page=1

Как вы можете видеть, есть два варианта: торги по Франкфурту и торги на Xetra. Я бы с удовольствием загрузил их. Я попытался очистить данные, но мои знания о python очень бедны.

Как я могу выбрать желаемую опцию onclick?

Заранее благодарим за ваши ответы. С уважением

Ps: Для вашей информации я отметил следующий факт, проверяющий элемент Xetra: он меняет значение, когда я перехожу на следующую страницу, и если я вернусь, значение снова будет другим. Вот пример: первый раз на странице 1 я получил

 
a onclick="d39081344_fkt_set_par('6');d39081344_fkt_set_active(this);" class="brs_d39081344_li current last" 

, затем я перешел на страницу 2, и я получил

 
a onclick="d51109535_fkt_set_par('6');d51109535_fkt_set_active(this);" class="brs_d51109535_li current last"
и возвращаться на страницу 1 я получил
a onclick="d96086211_fkt_set_par('6');d96086211_fkt_set_active(this);" class="brs_d96086211_li current last"

+1

Приветствуем вас в StackOverflow. Пожалуйста, найдите время, чтобы прочитать страницу справки, особенно разделы с названием [«Какие темы можно задать здесь?»] (Http://stackoverflow.com/help/on-topic) и [«Какие типы вопросов я должен не спрашивать? "] (http://stackoverflow.com/help/dont-ask). И что еще более важно, прочитайте [контрольный список вопросов переполнения стека] (http://meta.stackexchange.com/q/156810/204922). Вы также можете узнать о [Минимальных, Полных и Подтверждаемых примерах] (http://stackoverflow.com/help/mcve). –

ответ

0

Хитрость заключается в том, чтобы посмотреть на то, что вызовы выполняются при навигации по страницам. Для этого инструмент анализа сети вашего браузера неоценим. Когда я перехожу со страницы на страницу, POST отправляется в «http://www.boerse-frankfurt.de/en/parts/boxes/history/_tickdata_full.m» с данными о запросе.

Тогда целью является репликация и цикл запросов с использованием python. Вот код, чтобы вы начали:

import requests 
r = requests.post('http://www.boerse-frankfurt.de/en/parts/boxes/history/_tickdata_full.m', data={'component_id':'PREKOP97077bf9dec39f14320bf9d40b636c7c589', 'page':"3", 'page_size':'50', 'boerse_id':'6', 'titel':'Tick-Data', 'lang':'en', 'text':'LOcbaec84ecad1b94ad2fd257897c87361', 'items_per_page':'50', 'template':'0', 'pages_total':'50', 'use_external_secu':'1', 'item_count':'2473', 'include_url':'/parts/boxes/history/_tickdata_full.m', 'ag':'291', 'secu':'291', }) 
print r.text #here is your data of interest, it still needs to be parsed 

Это общая идея. Затем вы помещаете это в цикл, каждый раз добавляя его к параметру page.

+0

Большое вам спасибо за помощь. Теперь я могу загрузить нужные данные. Еще раз спасибо! –

Смежные вопросы