xpath
  • yql
  • 2012-05-19 3 views 1 likes 
    1

    yql을 사용하여 웹 페이지의 일부를 가져오고 싶습니다. 몇 가지 쿼리를 시도했다. 대부분의 쿼리는 하나의 쿼리를 제외하고 올바른 결과를 반환 할 수 있습니다.yql 및 xpath로 결과를 가져올 수 없습니다.

    select * from html where url="http://www.cngold.org/img_date/livesilvercn_rmb.html" and xpath='//div[6]/div[2]/div/div[2]/table/tbody/tr[4]/td[6]' 
    

    나는 가격을 실제로 빈 결과를 얻을 수 있도록 노력하겠습니다 : 여기

    는 쿼리입니다. 내가 YQL와 전체 페이지를 검색하고 해당 요소의 XPath를 선택하면

    , 이번에는 XPath는

    //div[3]/div/div[2]/a/div/div[2]/table/tbody/tr[4]/td[6] 
    

    왜 그렇게 많은 차이가 무엇입니까?

    어떻게 처리해야합니까?

    미리 감사드립니다.

    +0

    페이지의 내용은 모르지만 첫 번째 쿼리는'5.82' 값을 선택합니다 (실제로 유용한 정보이고 값이 자주 변경되지 않기를 바랍니다). 두 번째 쿼리는 아무것도 가져 오지 않지만 (유효한 쿼리 임). –

    +0

    예, 5.82는 유용한 정보입니다. 그러나 나는 빈 결과를 얻었다. 나는 yql 콘솔로 시도해 본다. 고맙습니다. 아마도 나는 다른 사람에게 그것을 시도하도록 요청해야한다. – bucherren

    +0

    Firefox + Firebug + [Firefinder] (https://addons.mozilla.org/cs/firefox/addon/firefinder-for-firebug/)를 사용해 보았습니다. 페이지가 일부 자바 스크립트로로드 된 후 값이 계산되는 문제가 아닙니까? 원래 원본 그대로의 파일에는 값이 포함되어 있지 않기 때문입니다. 그리고 yql은 물론 js로 계산 된 것을 찾을 수 없습니다. –

    답변

    0

    YQL은 동적으로 계산 된 값을 가져올 수 없습니다. 이 경우 phantom.js을 사용하는 것이 좋습니다.

    이 대답 https://stackoverflow.com/a/7978072/1337392은 HTML 스크래핑을 할 수있는 몇 가지 도구를 제공합니다.

    희망이 있습니다.

    관련 문제