Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用XPath/HTMLAgilityPack读取JavaScript对象_C#_Javascript_Xpath_Html Agility Pack - Fatal编程技术网

C# 如何使用XPath/HTMLAgilityPack读取JavaScript对象

C# 如何使用XPath/HTMLAgilityPack读取JavaScript对象,c#,javascript,xpath,html-agility-pack,C#,Javascript,Xpath,Html Agility Pack,对于我的爬虫项目,我需要从JavaScript对象获取产品详细信息 如何有效地从以下JavaScript获取对象详细信息?我使用XPath和HTMLAgilityPack <script type="text/javascript"> var product = { identifier: '2051189775', //PRODUCT ID fn: 'Fit- Whiskered Dark Wash Skirt', c

对于我的爬虫项目,我需要从JavaScript对象获取产品详细信息

如何有效地从以下JavaScript获取对象详细信息?我使用XPath和HTMLAgilityPack

<script type="text/javascript">
    var product = {
        identifier: '2051189775',     //PRODUCT ID
        fn: 'Fit- Whiskered Dark Wash Skirt',
        category: ['sale'],
        brand: 'Brand Name',
        price: '22.90',  // this would be the discount price
        amount: '31.80',  // this would be the original price
        currency: 'USD',
        //List can me even more.
    };
</script>

var乘积={
标识符:“205189775”,//产品ID
fn:“修身-胡须深色水洗裙”,
类别:[“销售”],
品牌:“品牌名称”,
价格:'22.90',//这将是折扣价
金额:'31.80',//这将是原价
货币:美元,
//这张单子能给我更多的帮助。
};

我以前从未尝试过从JavaScript对象获取详细信息。我直接从HTML获取其他爬虫的详细信息

由于HTML Agility Pack不评估HTML的任何内容,因此javascript代码应被视为纯文本。使用
SelectSingleNode
方法查找Javascript片段,然后抓取InnerHtml以获取内容

找一个C#javascript解析器(例如),或者使用标准文本操作技术(
String.*
Regex
编写一个解析器,以提取所需的位


一旦有了花括号之间的位,您就可以使用前面提到的解析器或类似的库来解析它们,因为花括号之间的片段似乎是有效的json。

由于HTML Agility Pack不评估HTML的任何内容,javascript代码应该被视为纯文本。使用
>选择SingleNode
method查找Javascript片段,然后只需抓取InnerHtml即可获取内容

找一个C#javascript解析器(例如),或者使用标准文本操作技术(
String.*
Regex
编写一个解析器,以提取所需的位

一旦有了花括号之间的位,就可以使用前面提到的解析器或类似的库来解析它们,因为花括号之间的片段似乎是有效的json