Nokogiri를 사용하여이 ASCAP 웹 사이트를 구문 분석하여 일부 노래/아티스트 정보를 검색하려고합니다. 여기에 내가Nokogiri를 사용하여 JavaScript 숨겨진 HTML을 구문 분석
https://mobile.ascap.com/aceclient/AceClient/#ace/writer/1628840/JAY%20Z
나는 소스가 자바 스크립트의 어떤 종류의 뒤에 숨겨진 것으로 보인다 때문에 제대로 DOM에 액세스 할 수없는 것 쿼리 할 것입니다 무엇의 예입니다. 나는 웹 스크래핑에 익숙하지 않으므로이를 수행하는 방법을 찾기가 꽤 어려웠습니다. 데이터가 다른 사이트에서 가져온 것인지 확인하기 위해 Charles를 사용하여 시도했으며 정확한 XPath 쿼리를 생성하기 위해 XHelper를 사용해 왔습니다.
이는 "1, 2 가주"
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은 실제로 소스를 볼 때 나타나지 않습니다. –