2016-11-24 48 views
0

我想分析一个网站上的信息,我一直只用纯HTML成功地做这件事。例如用于以下的代码:的XPath的JavaScript在python

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

我会使用 “ANSW = pagehtml.xpath( '// DIV/UL/H3'):” 和 “ANSW” 将是= “这是一个标题”。

但现在我有一个JavaScript看起来像这样一个网页:

<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,但不知道现在我只需要学习多少信息就可以获取这些信息。 :( –