当前位置: 主页 > JAVA语言

java xpath获取属性值-宜家控股企业InterogoHolding斥资17亿美元买入海恩斯莫里斯(HM)集团0.6%

发布时间:2023-06-16 22:12   浏览次数:次   作者:佚名

最新消息,日前,宜家的控股企业Interogo Holding AG斥资17亿瑞典克朗(约1.90亿美元)买入海恩斯莫里斯(H&M)集团0.6%的股份,并拥持有了后者0.3%的投票权。这是Interogo Holding AG第一次拥有快时尚企业的股份。

为完成一个小型爬虫项目,在并未操作该网站提供的API情况下,细致分析了国内某著名电商网站商品属性的获取思路和方法,兹此记录分享,学习交流。

静态页面部分

为了获取静态页面部分的内容,需要操作firefox的搭建者功能禁用javascript,如图

勾选"Disable JavaScript"。刷新页面后可见。通过静态页面可获取标题,商品ID,分类号,商品URL,图片url等内容。可直接操作正则表达式或xpath等工具分析获得java xpath获取属性值,这里不再赘述。

某电商商品属性获取分析

动态内容部分

该网站大部分商品属性都是通过ajax动态获取的。还是通过浏览器来分析。取消勾选"Disable JavaScript"后,操作"Network"工具可对服务器响应的包进行抓包和分类。为避免反复重新加载页面时缓存的影响,勾选"Disable Cache"选项。先打开"Network"界面,然后刷新页面java xpath获取属性值,可获得加载过程的抓包内容。ajax请求返回的数据为json或js类型。

例如:某json数据,url为

可在network工具箱内查看其response内容为

对照页面内容后发现其中p字段正是商品费用数据!

通过直接打开链接得到json串为

此response中带有回调函数名"cnp",观察在url中也有一个相同字段。遂尝试在url中去掉该字段,重新请求后

获得json:

继续尝试删除请求中的get参数,最终发现可用

正常获取到相同的数据。

获取到费用数据,方便了自动化生成。其余不能通过静态内容获取的属性均可类比分析尝试获得。