【问题标题】:Scrapy and Xpath to extract data from javascript codeScrapy 和 Xpath 从 javascript 代码中提取数据
【发布时间】:2015-03-20 09:34:51
【问题描述】:

我正在学习并同时使用scrapy构建一个网络蜘蛛。我需要帮助从以下 javascript 代码中提取一些信息:

<script language="JavaScript" type="text/javascript+gk-onload">

    SKART = (SKART) ? SKART : {};
    SKART.analytics = SKART.analytics || {};
    SKART.analytics["category"] = "television";
    SKART.analytics["vertical"] = "television";
    SKART.analytics["supercategory"] = "homeentertainmentlarge";
    SKART.analytics["subcategory"] = "television";

</script>

我希望使用 Xpath 将类别信息提取为电视。请帮助我使用我应该使用的选择器。

【问题讨论】:

    标签: javascript python xpath web-crawler scrapy


    【解决方案1】:

    您可以通过re() 使用Selector正则表达式的内置支持:

    pattern = r'SKART\.analytics\["category"\] = "(\w+)";'
    response.xpath('//script[@type="text/javascript+gk-onload"]').re(pattern)
    

    演示(使用scrapy shell):

    $ scrapy shell index.html
    In [1]: pattern = r'SKART\.analytics\["category"\] = "(\w+)";'
    
    In [2]: response.xpath('//script[@type="text/javascript+gk-onload"]').re(pattern)
    Out[2]: [u'television']
    

    【讨论】:

    • 谢谢。它有帮助。
    猜你喜欢
    • 2014-11-07
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    相关资源
    最近更新 更多