Я пытаюсь использовать Nokogiri для анализа этого веб-сайта ASCAP для получения информации о песне/художнике. Вот пример того, что я хотел бы запроситьИспользование Nokogiri для разбора JavaScript скрыт HTML
https://mobile.ascap.com/aceclient/AceClient/#ace/writer/1628840/JAY%20Z
Я не могу показаться, чтобы получить доступ к DOM правильно, потому что источник, кажется, скрывается за каким-то JavaScript. Я довольно новичок в веб-соскабливании, поэтому было довольно сложно найти способ сделать это. Я пробовал использовать Charles, чтобы узнать, были ли данные взяты с другого сайта, и использовали XHelper для генерации точных запросов XPath.
Это возвращает ноль, где он должен вернуться «1, 2 YA'LL»
page = Nokogiri::HTML(open('https://mobile.ascap.com/aceclient/AceClient/#ace/writer/1628840/JAY%20Z'))
puts page.xpath('/html/body/div[@id="desktopSearch"]/div[@id='ace']/div[@id="aceMain"]/div[@id="aceResults"]/ul[@id="ace_list"]/li[@class="nav"][1]/div[@class="workTitle"]').text
Этот сайт просматривается Javascript. Вам нужно будет использовать что-то, что может обрабатывать страницу с помощью JS, а затем прочитать полученный DOM. [Этот учебник по Capybara + PhantomJS] (http://www.chrisle.me/2012/12/scraping-html5-sites-using-capybara-phantomjs/) может быть вам полезен. –
Не указывайте нам ссылку в качестве примера данных. Ссылки гниют и ломаются. Вместо этого представьте минимальный пример HTML внутри вопроса. Все остальное препятствует ответам. –
Извините @thetinman, я не мог показать пример, b/c, как описано выше, HTML не отображается, когда вы просматриваете источник. –