最近遇到一个电商网站的数据分析,最大的问题就是一个产品有多个颜色,如果多要采集出来要怎么处理那?
由上图,框起来的数据,颜色和size就是一一对应的,点颜色块和size选项,可以组合出不同的选择,这种采集就需要我们看源代码,进行分析,我们先进入到源代码里,一般浏览器按f12,就能进入源代码,然后按crtl+f跳出搜索对话框,按颜色的中文字进行搜索找到相关的位置,比如用Purple进行搜索查看,
搜索提示有7个,我们通过代码查到到这个位置,发现很符合前面颜色点击后出现的效果,我用竖条进行范围区分,{"stock_id":"2415595","product_id":"561339","product_sku":"DRBE83B2F19D","supplier_sku":null,"color_option_value_id":"58","size_option_value_id":"46","us_size":"2-4","virtual_quantity":"9999","quantity":"0","cn_stock":"0","us_stock":"0","status":"1","type":"0","color_title":"White","color_product_option_id":"644541","color_product_option_value_id":"1838330","size_title":"2-4","size_product_option_id":"644542","size_product_option_value_id":"1838331","vacation_tip":false,"sort_us_size":2,"label_size":"S"}
比如这个段代码,里面出现了颜色文字,尺码size,还有其他的暂时不知道的东西。从这里基本能断定我们要的东西。先搜索看看有多少个 stock开头的内容。还和刚才一样,用{"stock_id"进行搜索(这里不贴图了),提示有32 个数据,那到底是不是那,我到网页上面,一个个点颜色和size组合,点出来确实有32个组合,不过有两个颜色是没有产品了,不存在的,Royal Blue和Purple,这两个组合有8个,也就是要找出这8个组合在 32个组合里的区别是什么,我们把没有其中一个 royalblue的代码提取出来了,和有产品的进行比对。{"stock_id":"2415607","product_id":"561339","product_sku":"DRBE83B2EF63","supplier_sku":null,"color_option_value_id":"74","size_option_value_id":"46","us_size":"2-4","virtual_quantity":"0","quantity":"0","cn_stock":"0","us_stock":"0","status":"1","type":"0","color_title":"Royal Blue","color_product_option_id":"644541","color_product_option_value_id":"1838337","size_title":"2-4","size_product_option_id":"644542","size_product_option_value_id":"1838331","vacation_tip":false,"sort_us_size":2,"label_size":"S"}
从比对的数据来看,quantity 这个单词是数量的意思, 那"virtual_quantity":"9999"说明有 9999个产品,0说明没有,没有产品的是"virtual_quantity":"0",在源代码里用 这个进行搜索发现也只出现了8个,那这个代码就是用来判断没有产品的,从单词来看,应该是数量的意思了 。我们先用php提取32个产品,并且删除没有产品的组合。
利用php处理后剩下24个组合,和我们判断是一样的数据量,接下来是图片需要对应这些组合。我们在点颜色的时候,图片是跟着动的,把其中一个图片链接在源代码里进行搜索,查看具体位置。
https://www.stylewe.com/image_cache/resize/80x106/%2Fimage%2Fcatalog%2Fproduct%2F2018-11-14%2F1831-3-jpg-1542187212473.jpeg利用这个图片网址,我们只要搜索最后没的几个数字就可以,不要直接用链接 进行搜索,1542187212473.jpeg搜索找到具体的位置。
从这个搜索到的图片代码找出规律,这个图片前面的<li data-option-id="58",看到是58这个数字,是不是和我们上面提取的24 个组合里的某个数字有联系。我们进行比对查看,"supplier_sku":null,"color_option_value_id":"58","size_option_value_id":"48",是不是代码里也是存在的,那就好办了,我们可以先提取图片和这个数字之间关系,然后在 这24个组合里进行替换,就能把 图片放到24个组合的每一个代码里了。
利用php替换后 代码就组合成上图的效果了。{"color":https://www.stylewe.com/image_cache/resize/1200x1200/image/catalog/product/2018-11-14/1831-3-jpg-1542187212473.jpeg,"stock_id":"2415595","product_id":"561339","product_sku":"DRBE83B2F19D","supplier_sku":null,"color_option_value_id":"58","size_option_value_id":"46","us_size":"2-4","virtual_quantity":"9999","quantity":"0","cn_stock":"0","us_stock":"0","status":"1","type":"0","color_title":"White","color_product_option_id":"644541","color_product_option_value_id":"1838330","size_title":"2-4","size_product_option_id":"644542","size_product_option_value_id":"1838331","vacation_tip":false,"sort_us_size":2,"label_size":"S"}{"color":https://www.stylewe.com/image_cache/resize/1200x1200/image/catalog/product/2018-12-26/07941C6A-2B98-4437-B9A0-1AB6962F21B3-1545791802724.png,"stock_id":"2415603","product_id":"561339","product_sku":"DRBE83B2A695","supplier_sku":null,"color_option_value_id":"73","size_option_value_id":"46","us_size":"2-4","virtual_quantity":"9998","quantity":"-1","cn_stock":"0","us_stock":"0","status":"1","type":"0","color_title":"Light Blue","color_product_option_id":"644541","color_product_option_value_id":"1838336","size_title":"2-4","size_product_option_id":"644542","size_product_option_value_id":"1838331","vacation_tip":false,"sort_us_size":2,"label_size":"S"}
这样我们就可以在这个{}大括号内获取图片,尺码,数量等基本信息了。
头一次写的有点粗矿,以后的教程里,我会慢慢改进。
投稿人:八维数据