为了给七夕的女盆友挑合适的内衣,我用Python网易严选的内衣店的数据!

简介: 为了给七夕的女盆友挑合适的内衣,我用Python网易严选的内衣店的数据!

为了给心爱的女盆友选一套surprise我 用python把网易优选小姐姐文胸看了个遍

 

这一切的的目的只是因为我爱女盆友&&爱学习~~~

需求分析

我们的目标是网易小姐姐2000+文胸评论。需要的数据是小姐姐称呼、产品星评、文胸颜色大小和评论时间等。

通过数据来分析小姐姐最喜欢的颜色和最合适的尺码是多少?


网页分析

网页F12打开浏览器开发者模式,搜索关键字找到网页

发送请求的真实链接如下:

数据是存储在一个json的数据集合里面的。

发送请求

如下找到浏览器请求连接,

然后添加headers模拟浏览器发送请求获取响应数据

  url = 'http://you.163.com/xhr/comment/listByItemByTag.json?__timestamp=1624856130970&itemId=3987228&tag=%E5%85%A8%E9%83%A8&size=20&page=1&orderBy=0&oldItemTag=%E5%85%A8%E9%83%A8&oldItemOrderBy=0&tagChanged=0'
 
  headers = {
      'Cookie': '_ntes_nnid=501cb75ada402fbcf47eefe12cccc23a,1623327742969; _ntes_nuid=501cb75ada402fbcf47eefe12cccc23a; UM_distinctid=17a3365a7592d2-008996d874143d-5c4f2f15-1fa400-17a3365a75a526; hb_MA-8E16-605C3AFFE11F_source=www.baidu.com; yx_aui=6da18d10-f072-41ac-912f-b14dff79cbb9; mail_psc_fingerprint=66f4d93f8163fe521a151b828d49e1cd; yx_s_device=32d4255-6232-2537-51c2-4e819468e8; yx_but_id=d03335c54b02488a8507463681ed337bca142a4f6d33ff62_v1_nl; yx_s_tid=tid_web_38d7721d61b649199f8af09017ae76b3_d0a48cb2b_1; yx_search_history=%5B%22%u6587%u80F8%22%5D; yx_from=search_sem_bdpc_25; yx_show_painted_egg_shell=false; yx_delete_cookie_flag=true; yx_stat_seesionId=6da18d10-f072-41ac-912f-b14dff79cbb91624855735580; yx_new_user_modal_show=1; yx_page_key_list=http%3A//you.163.com/search%3Fkeyword%3D%25E6%2596%2587%25E8%2583%25B8%26timestamp%3D1624845943619%26_stat_search%3Dhistory%26searchWordSource%3D5%23page%3D1%26sortType%3D0%26descSorted%3Dtrue%26categoryId%3D0%26matchType%3D0%2Chttp%3A//you.163.com/item/detail%3Fid%3D3987228%26_stat_area%3D3%26_stat_referer%3Dsearch%26_stat_query%3D%25E6%2596%2587%25E8%2583%25B8%26_stat_count%3D132%26_stat_searchversion%3Ddcn_model-1.1.0-1.3; yx_subscribe_showtime=1624856134666; yx_stat_seqList=v_ecb98e3f92%7Cv_377304616a%3B-1%3Bv_780ef75480%3Bc_350809ccfe%3Bv_cf5074d5c0%3B-1%3Bv_ecb98e3f92%3B-1',
      'Referer': 'http://you.163.com/item/detail?id=3987228&_stat_area=3&_stat_referer=search&_stat_query=%E6%96%87%E8%83%B8&_stat_count=132&_stat_searchversion=dcn_model-1.1.0-1.3',
      'User-Agent': str(UserAgent().random)
    }
 
  resp = requests.get(url, headers = headers)
 
  if resp.status_code == 200:
      print(resp.json())

可以看到,当前json该数据集已经成功获取到,接下来就是获取json内部的具体信息了

我们先来获取单页数据,并将其存于熊猫之中

熊猫详细文档:

让人无法拒绝的pandas技巧,简单却好用到爆!

 

   comts_List = resp.json()['data']['commentList']
 
    size = [item['skuInfo'][0] for item in comts_List]
    colors = [item['skuInfo'][1] for item in comts_List]
    prof_phot = [item['frontUserAvatar'] for item in comts_List]
    star = [item['star'] for item in comts_List]
    content = [item['content'] for item in comts_List]
 
    # 保存数据
    pd_data = pd.DataFrame({
        '型号': size,
        '颜色': colors,
        '小姐姐': prof_phot,
        '评分': star,
        '评论': content
    })

多页存储

单页数据存储完毕,先定个小目标,爬它100页。

  for page in range(100):
    # 打印进度
    print(f'-------------正在获取第{page + 1}页的文胸信息-------------')

然后将这100页,获取到了两千条数据。然后将其存储在Excel,

以便后续数据分析和可视化操作。

小姐姐头像

小姐姐头像的链接我们都在上一步扒拉下来了,难道我会放过这些小姐姐的美照吗?

    for img in pd_data['小姐姐']:
        if img != None:
            try:
                with open('./pictures/{}.jpg'.format(fake.name()), 'wb') as fin:
                    print(f'正在爬取第{count}张图片')
                    fin.write(requests.get(img).content)
                    print('{}.jpg----下载成功'.format(img))
            except:
                print('下载失败!')

图片成功下载完毕

老规矩,我先看哈

可视化操作

先来给评论做词云图

函数已经给你定义好了,数据直接导入即可~~

  pd_data = pd.read_excel('./小姐姐文胸.xlsx')
  c_title = pd_data['评论'].tolist()
  # 观影评论词云图
  wordlist = jieba.cut(''.join(c_title))
  result = ' '.join(wordlist)
  pic = 'img.jpg'
  gen_stylecloud(text=result,
                  icon_name='fab fa-qq',  #s
                  font_path='msyh.ttc',
                  background_color="black",
                  output_name=pic)
  print('绘图成功!')

型号分析

详情都在注释里~~~

  # 读取数据
  pd_data = pd.read_excel('./小姐姐文胸.xlsx')
  # 去除不需要数据
  pd_data.loc[:, '型号new'] = pd_data['型号'].str.replace('尺码:', '')
 
  size = pd_data['型号new'].value_counts()
 
  # 型号分类
  size1 = size.index.tolist()
  # 分类数据统计
  size2 = size.tolist()
    
    '''
  ['75B', '85B', '80B', '75A', '80A', '70C', '80C', '70A', '75C']
  [500, 400, 300, 200, 200, 100, 100, 100, 100]
    '''

75B有多大?没人问啊也不敢问啊

颜色分析

  # 读取数据
  pd_data = pd.read_excel('./小姐姐文胸.xlsx')
  # 去除不需要数据
  pd_data.loc[:, '颜色new'] = pd_data['颜色'].str.replace('颜色:', '')
 
  color = pd_data['颜色new'].value_counts()
 
  # 型号分类
  color1 = color.index.tolist()
  # 分类数据统计
  color2 = color.tolist()

LSP都喜欢的粉色,可是人家小姐姐喜欢的是成熟的灰色

好了,今天文章到此结束。

祝大家七夕快乐!

相关文章
|
23天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护 【10月更文挑战第3天】
166 0
|
22天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
1月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
53 3
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
1月前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
31 1
|
2月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
113 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
50 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
|
1月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
1月前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。