C# 如何使用XPath/HTMLAgilityPack读取JavaScript对象
对于我的爬虫项目,我需要从JavaScript对象获取产品详细信息 如何有效地从以下JavaScript获取对象详细信息?我使用XPath和HTMLAgilityPackC# 如何使用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
<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