为完成一个小型爬虫项目,在并未使用该平台提供的API情况下,细致分析了国内某著名电商网站商品属性的获取思路和方法,兹此记录分享,学习交流。
静态页面部分
为了获取独立商城网站建设静态页面部分的内容,需要使用firefox的开发者功能禁用javascript,如图
勾选"Disable JavaScript"。刷新页面后可见。通过静态页面可获取标题,商品ID,分类号,商品URL,图片url等内容。可直接使用正则表达式或xpath等工具分析获得,这里不再赘述。
动态内容部分
该网站大部分商品属性都是通过ajax动态获取的。还是通过浏览器来分析。取消勾选"Disable JavaScript"后,使用"Network"工具可对服务器响应的包进行抓包和分类。为避免反复重新加载页面时缓存的影响,勾选"Disable Cache"选项。先打开"Network"界面,然后刷新页面,可获得加载过程的抓包内容。ajax请求返回的数据为json或js类型。
例如:某json数据,url为
可在network工具箱内查看其response内容为
对照页面内容后发现其中p字段正是商品价格数据!
通过直接打开链接得到json串为
此response中带有回调函数名"cnp",观察在url中也有一个相同字段。遂尝试在url中去掉该字段,重新请求后
获得json:
继续尝试删除请求中的get参数,最终发现可用
正常获取到相同的数据。
python解析代码:
获取到网上商城系统网站价格数据,方便了自动化生成。其余不能通过静态内容获取的属性均可类比分析尝试获得。
文章来源:segmentfault
编者:云朵匠 | 数商云(微信ID:shushangyun_com)
<数商云(www.shushangyun.hk)是全球知名的企业级电子商务系统开发商,为企业提供专业的电商系统开发解决方案,其产品服务包含:B2B电子商务系统建设、B2B2C多用户商城系统开发、B2C电商平台搭建、新零售电商、社交电子商务平台、视频直播平台、大数据电商平台、跨境进出口电商平台等等各行业大型电子商务平台搭建服务,其产品优势:系统安全性高、可扩展性强、集群式部署、支持高并发量和高访问量>