2016-11-24 15 views
0

私はウェブサイト上の情報を解析したいだけで、純粋なHTMLでうまくやっています。次のコードのインスタンスの場合: "( '// DIV/UL/H3')ANSW = pagehtml.xpathを:"xpath javascript in python

<div> 
<ul> 
    <h3 This is a heading> </h3> 

私が使用するであろうと "ANSWは" = "これは見出しです" だろう。

しかし、今、私はこのようになりますJavaScriptでWebページを持っている:

<script> 
var XYZ = XYZ || {}; 
XYZ.contentModel = { 
    layout: "no-rail", 
    analytics: { 
     "pageTop": {}, 
     "chartbeat": { 
      "sections": "" 
     }, 
     "branding_content_page": "default", 
     "branding_content_card": [""] 
    }, 
    edition: "Hometown", 
    title: "This is the title", 
    siblings: { 
     "articleList": [{ 
      "uri": "Got-to-this-webpage.html", 
      "description": "", 
      "layout": "" 
     }] 

だから、私は、このスクリプトでURIのリンクを解析しない方法を知りたいですか?ここ は、私が試してみましたものですが、それは失敗しました: ANSW = pagehtml.xpath( '//スクリプト/ XYZ /兄弟/ articleList/URI')

があれば、使用する正しいXPathのでしょうか?

ありがとうございました

答えて

1

希望するものを得るためのXPath式はありません。 XPathは文書ツリーのノード(この場合はscript要素)上でのみ動作します。

したがって、スクリプト要素の文字列の内容を(XPathを使用して)取得し、手動でURIを抽出する必要があります。この場合、探している情報はJSON構造体にエンコードされているので、PythonのJSON機能を使用することができます。

+0

ああ、私はちょうどその考え方を放棄することができます。私はPythonでJSONを見ていきますが、この情報を得るためにどれくらい勉強しなければならないか分かりません。 :( –