当前位置: 首页 > 科技观察

爬取7000+条内衣资讯,只为发掘女生的喜好!

时间:2023-03-17 17:54:32 科技观察

为了挖掘女生的喜好,我爬取了网易严选女生内衣资讯,一共7000多条数据,一起来看看网易严选商品评论的采集与分析吧。图片来自Pexels声明:这是一篇超级严肃的技术文章,超级!年级!严肃的!严肃的!请抱着学习和交流的态度阅读,谢谢!分析页面最后随意点击一个商品。在产品页面,打开Chrome控制台,切换到Network页面,然后将产品页面切换到review标签,选择一条评论文字,比如“薄,穿着舒适,满意”,在Network中搜索。可以发现评论文本是通过listByItemByTag.json传递的,点击进入请求,复制请求的URL:https://you.163.com/xhr/comment/listByItemByTag.json?csrf_token=060f4782bf9fda38128cfaeafb661f8c&__timestamp=1571106038283&ite=1616018&tag=%E5%85%A8%E9%83%A8&size=20&page=1&orderBy=0&oldItemTag=%E5%85%A8%E9%83%A8&oldItemOrderBy=0&tagChanged=0将此网址放入邮递员并尝试网址查询一个一个的params,终于找到了,只需要保留两个请求参数itemId和page即可。请求返回JSON格式的数据,下面对JSON数据进行分析。不难发现,所有的评论数据都存储在commentList中,我们只需要保存数据即可。下面是如何获取itemId的信息,也就是商品的ID。我们回到网易严选首页继续分析。②ProductID的获取当我们在搜索框输入关键词进行搜索时,我们也可以发现Network中有很多请求。此时,我们可以观察到每一个请求,通过请求的文件名(这里需要一定的经验,有纪律的程序员不会乱起名字),我们可以定位到请求,在搜索的时候显示搜索结果。搜索一般就是搜索,所以我们锁定search.json请求。同样将请求URL复制到Postman,对传入的参数一一校验,最后保留页面和关键字参数。请求返回了很多数据,我们还是需要耐心分析数据。我们也可以发现result->data->directly->searcherResult->result下的id值就是我们要获取的产品ID。以上,我们基本完成了初步的分析工作,下面开始编写代码。编写代码①获取产品ID代码如下:defsearch_keyword(keyword):uri='https://you.163.com/xhr/search/search.json'query={"keyword":keyword,"page":1}try:res=requests.get(uri,params=query).json()result=res['data']['directly']['searcherResult']['result']product_id=[]forrinresult:product_id.append(r['id'])returnproduct_ideexcept:raise我这里获取到了第1页的商品ID,下面是通过商品ID获取不同商品下的评论信息。②获取数据存储通过前面的分析,我们可以知道评论信息的形式如下。对于这种形式的信息,我们可以很方便的存储到MongoDB中,然后慢慢分析数据中的内容。{"skuInfo":["Color:肤色","CupSize:75B"],"frontUserName":"1****8","frontUserAvatar":"https://yanxuan.nosdn.127.net/f8f20a77db47b8c66c531c14c8b38ee7.jpg","content":"质量好,佩戴舒适","createTime":1555546727635,"picList":["https://yanxuan.nosdn.127.net/742f28186d805571e4b3f28faaaaaaa"]VO"评论:null,"memberLevel":4,"appendCommentVO":null,"star":5,"itemId":1680205}对于MongoDB,我们可以自己搭建,也可以使用免费的在线服务,这里介绍一个免费的MongoDB服务网站:mlab,使用起来非常简单,使用过程就不过多介绍了。有了数据库,下面是保存数据:defdetails(product_id):url='https://you.163.com/xhr/comment/listByItemByTag.json'try:C_list=[]foriinrange(1,100):query={"itemId":product_id,"page":i,}res=requests.get(url,params=query).json()ifnotres['data']['commentList']:breakprint("抓取%s页面comments"%i)commentList=res['data']['commentList']C_list.append(commentList)time.sleep(1)#savetomongoDBtry:mongo_collection.insert_many(commentList)except:continuereturnC_listexcept:raiseFinally爬取完成后,有总共有7000多条数据,大家可以根据个人需要做一些分析。爬取数据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