У меня есть простой PhantomJS
скрипт для разбора Javascript
содержание сайта html
. (Некоторые данные затем извлекаются из html
кода с помощью другого инструмента.)Выбор пункта меню с помощью PhantomJS
var page = require('webpage').create();
var fs = require('fs');// File System Module
var output = '/tmp/sourcefile'; // path for saving the local file
page.open('targeturl', function() { // open the file
fs.write(output,page.content,'w'); // Write the page to the local file using page.content
phantom.exit(); // exit PhantomJs
});
(я получил эти строки кода из http://kochi-coders.com/2014/05/06/scraping-a-javascript-enabled-web-page-using-beautiful-soup-and-phantomjs/)
Это используется для работы, когда все цели были прямые ссылки. Теперь они за тот же URL и есть выпадающее меню:
<select id="observation-station-menu" name="station" onchange="updateObservationProductsBasedOnForm(this);">
<option value="101533">Alajärvi Möksy</option>
...
<option value="101541">Äänekoski Kalaniemi</option>
</select>
Это пункт меню, я бы на самом деле хотел бы загрузить:
<option value="101632">Joensuu Linnunlahti</option>
Из этого меню мой скрипт загружает только данные, относящиеся к по умолчанию. Как я загружаю содержимое другого элемента из меню и загружаю его содержимое html
?
Моя цель сайта заключается в следующем: http://ilmatieteenlaitos.fi/suomen-havainnot
(если есть лучший способ, чем PhantomJS
для этого я мог бы использовать его так же хорошо, Мой интерес в работе с данными, один раз получить его соскабливают и я выбрал PhantomJS
. . только потому, что это было первое, что работали некоторые варианты могут быть ограничены, потому что мой сервер является Raspberry Pi
и может не работать на нем: Python Selenium: Firefox profile error)
Это действовало аналогично другому ответу. Пропущено без ошибок, но содержит данные по умолчанию. –
Я обновил решение, возможно, из-за этого. – user5542121
Это решило, спасибо! –