大家好,163网站源码分享相信很多的网友都不是很明白,包括163开源也是一样,不过没有关系,接下来就来为大家分享关于163网站源码分享和163开源的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
用Python爬取网易严选妹子内衣信息,探究妹纸们的偏好
来源:https://juejin.im/post/5da67795e51d4524d02695f8
今天继续来分析爬虫数据分析文章,一起来看看网易严选商品评论的获取和分析。
警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团公司的隐私或利益,请告知联系萝卜删除!!!声明:这是一篇超级严肃的技术文,超!级!严!肃!请本着学习交流的态度阅读,谢谢!
网易商品评论爬取
分析网页
评论分析
进入到网易精选官网,搜索“文胸”后,先随便点进一个商品。
在商品页面,打开Chrome的控制台,切换至Network页,再把商品页面切换到评价标签下,选择一个评论文字,如“薄款、穿着舒适、满意”,在Network中搜索。
可以发现,评论文字是通过listByItemByTag.json传递过来的,点击进入该请求,并拷贝出该请求的URL:you.163.com/xhr/comment…
将该URL放入Postman中,逐个尝试urlqueryparams,最后能够发现,只需保留itemId和page两个请求参数即可。
请求返回的是一个JSON格式的数据,下面就是分析该JSON数据了。不难发现,所有的评论数据都存储在commentList中,我们只需保存该数据即可。
下面就是如何获取itemId的信息了,这个是产品的ID,我们回到网易精选首页,继续分析。
产品ID获取
当我们在搜索框中输入关键字进行搜索的时候,同样能够发现在Network中有很多请求,此时可以观察各个请求,通过请求文件的名称(此处需要一些经验,守规矩的程序员都不会乱起名字),我们可以定位到搜索时展示搜索结果的请求。
搜索一般都是search,所以我们就锁定了这个search.json的请求。同样把请求URL拷贝到Postman中,逐个验证传参,最后保留page和keyword两个参数即可。
该请求返回的数据较多,还是需要耐心的分析数据,也能够发现,在result->data->directly->searcherResult->result下面的id值,即为我们要获取的产品ID。以上,我们基本完成了前期的分析工作,下面开始代码的编写。
编写代码
获取产品ID
defsearch_keyword(keyword):\nuri=’https://you.163.com/xhr/search/search.json’\nquery={\n”keyword”:keyword,\n”page”:1\n}\ntry:\nres=requests.get(uri,params=query).json()\nresult=res[‘data’][‘directly’][‘searcherResult’][‘result’]\nproduct_id=[]\nforrinresult:\nproduct_id.append(r[‘id’])\nreturnproduct_id\nexcept:\nraise\n复制代码\n
我这里是获取了page为1的产品ID,下面就是通过产品ID来获取不同产品下的评论信息。
通过前面的分析,我们可以知道,评论信息都是如下形式的,对这种形式的信息,我们可以很方便地存储进入MongoDB,然后再慢慢分析数据里的内容。
{\n”skuInfo”:[\n”颜色:肤色”,\n”杯码:75B”\n],\n”frontUserName”:”1****8″,\n”frontUserAvatar”:”https://yanxuan.nosdn.127.net/f8f20a77db47b8c66c531c14c8b38ee7.jpg”,\n”content”:”质量好,穿着舒服”,\n”createTime”:1555546727635,\n”picList”:[\n”https://yanxuan.nosdn.127.net/742f28186d805571e4b3f28faa412941.jpg”\n],\n”commentReplyVO”:null,\n”memberLevel”:4,\n”appendCommentVO”:null,\n”star”:5,\n”itemId”:1680205\n}\n复制代码\n
对于MongoDB,我们既可以自己搭建,也可以使用网上免费的服务。在这里我介绍一个免费的MongoDB服务网站:mlab,使用很简单,就不过多介绍使用过程了。
数据库有了,下面就是把数据保存进去了。
defdetails(product_id):\nurl=’https://you.163.com/xhr/comment/listByItemByTag.json’\ntry:\nC_list=[]\nforiinrange(1,100):\nquery={\n”itemId”:product_id,\n”page”:i,\n}\nres=requests.get(url,params=query).json()\nifnotres[‘data’][‘commentList’]:\nbreak\nprint(“爬取第%s页评论”%i)\ncommentList=res[‘data’][‘commentList’]\nC_list.append(commentList)\ntime.sleep(1)\n#savetomongoDB\ntry:\nmongo_collection.insert_many(commentList)\nexcept:\ncontinue\nreturnC_list\nexcept:\nraise\n复制代码\n
最后爬取完成之后,总共是七千多条数据,下面就可以根据个人需要做一些分析了。
爬取的数据MongoDB链接conn=MongoClient(“mongodb://%s:%s@ds149974.mlab.com:49974/you163″%(‘you163′,’you163’))db=conn.you163mongo_collection=db.you163
商品评论数据分析
下面就到了激动人心的时刻了,一探妹子偏好!
偏好颜色
先来看看妹子们偏好的颜色
可以看出,黑色是遥遥领先的哦,这里你要做到心中有数!再通过饼状图来观察下不同颜色的占比情况
那么这些颜色中,有你的她喜欢的吗?尺寸分布
没有问题,75B就是大多数妹子的尺寸了如果你对这种罩杯尺寸没有研究的话,不要紧,贴心的我给你准备了对照表,拿走不谢
商品评论
最后我们再来看看妹子们对于商品的评价情况
就星级评价上来看,大多数都是五星好评,毕竟打着“严选”的名号,质量是必须有保证的。再来看看在评论区,妹子最喜欢用什么词语来描述呢
舒服、很舒服,非常舒服;满意、很满意,非常满意。仿佛进入了“夸夸群”,看来妹子们首要看重的就是舒服与否,毕竟是贴身的,质量最重要!
好了,看了上面的分析,单身的你是不是更加有了脱单的冲动?如果是已经有软妹傍身的你,是不是该下手讨好下身边的她了呢?
源码:https://github.com/zhouwei713/data_analysis/tree/master/you163_spider
OK,关于163网站源码分享和163开源的内容到此结束了,希望对大家有所帮助。
