背景

突然想起前阵子看到一篇爬bar并统计女生罩杯情况的文章,心想。我擦,这么好的题材让别人先写了我风暴哭泣。心想,算了,人家本来就比我优秀。然后随便去京东逛了逛。看到回力旗舰店给我推了,那我也来搞搞吧。

一、思路

爬虫,其实目的就是把网站上想要的数据盘下来。过程很简单,所有人都可以手动完成:进去网站,拿掉数据,保存下来。只不过当我们想要反复的进行这些操作,就不愿意了而已,所以要借助计算机的力量。因此,实现的大体思路:观察->发起请求->服务器反馈数据->找到数据->获取数据
虽说爬虫大体的思路很简单,但是找数据,获取数据的过程可不是那么简单的欸。重要的一点是观察,而且很多网站都有反爬的机制,因此在爬虫过程中的思路千变万化,只能结合事实来做改变。

二、实现

1.观察
在进行代码编写前,必定要先对网站进行观察。首先观察想要的数据在哪?数据是静态的还是动态的?如果是静态数据,经常使用BeautifulSoup库对数据进行标签过滤爬取,如果是动态,我们就找出动态数据的url在哪,再作进一步打算。
我爬的网页是https://item.jd.com/5480090.html#comment ,目标是评论以及购买的码数,颜色。
第一,定位数据位置。

定位好数据之后观察数据是静态还是动态。在我翻到评论的下一页时,整个页面并没有改变,只是局部的数据在发生变化。因此我猜测很有可能是通过js获取动态数据的。紧接着点开网络分析。

果然有发现,打开看看!

是它是它就是它!
于是乎打开了几个url看看。

看到了吧!翻页的规律又发现了咯。

2.发起请求,求反馈信息
观察完之后就可以开始编写代码了:
先写一个:

import requestshtmlshow = requests.get('https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=5480090&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0&rid=0&fold=1').text
print(htmlshow)

好了,请求回来的数据包含了我们想要的数据。

3.获取数据:

import requests
import jsonhtmlshow = requests.get('https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=5480090&score=0&sortType=5&page=1&pageSize=10&isShadowSku=0&rid=0&fold=1').text
# print(htmlshow)
data = json.loads(htmlshow[20:-2])   #页面上的数据看起来跟json十分相似,因此,将数据转换成json再筛选我们所需要的数据
for i in range(len(data['comments'])):print('颜色:'+data['comments'][i]['productColor']+'   \n码数:'+data['comments'][i]['productSize']+'    \n评论:'+data['comments'][i]['content'])print(f"---------------------第{i+1}条-----------------------------")

效果:

4.继续获取更多数据并存入数据库
上面只是获取了一个页面的数据,我们的目标岂能如此之小?继续盘!

import requests
import json
import pymysqlconnn = pymysql.connect(host='127.0.0.1',user='root',passwd='123',port=3306,db='huilipa',charset='utf8',
)
cur = connn.cursor()
num = 0
for i in range(0,500):url1 = 'https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=5480090&score=0&sortType=5&page='url2 = str(i)url3 = '&pageSize=10&isShadowSku=0&rid=0&fold=1'htmlshow = requests.get(url1+url2+url3).textdata = json.loads(htmlshow[20:-2])for j in range(len(data['comments'])):num = num+1yanse = data['comments'][j]['productColor']mashu = data['comments'][j]['productSize']pinglun = data['comments'][j]['content']cur.execute("insert into huilidata(yanse,mashu,pinglun) value (%s,%s,%s)",(yanse,mashu,pinglun))connn.commit()print(f'颜色:{yanse}\n码数:{mashu}\n评论:{pinglun}')print(f'---------------{num}条-------------------------------------')

看到评论数量有6w多,所以我打算爬5千条的,结果跑到1千就停止了,一开始以为出了什么问题,后来一看评论只显示了100页。。。
效果:


一共爬了一千条数据,并且存进mysql里面。

5.做个小分析吧
就是看看1000个人里面34-44码数的人各有多少个,大概的估算出比例。大家不要笑这个方法哈哈哈,这是最简单粗暴的计算方式,本来想写的简单一点的,但是写之前家人说准备吃饭了,然后就快速写一个吧!!

import pymysqlconnn = pymysql.connect(host='127.0.0.1',user='root',passwd='123',port=3306,db='huilipa',charset='utf8',
)
mashu34 = 0
mashu35 = 0
mashu36 = 0
mashu37 = 0
mashu38 = 0
mashu39 = 0
mashu40 = 0
mashu41 = 0
mashu42 = 0
mashu43 = 0
mashu44 = 0cur = connn.cursor()
cur.execute("select mashu from huilidata ;")
for i in cur.fetchall():for j in i :k =range(34,45)if str(k[0]) in j:mashu34 = mashu34 + 1if str(k[1]) in j:mashu35 = mashu35 + 1if str(k[2]) in j:mashu36 = mashu36 + 1if str(k[3]) in j:mashu37 = mashu37 + 1if str(k[4]) in j:mashu38 = mashu38 + 1if str(k[5]) in j:mashu39 = mashu39 + 1if str(k[6]) in j:mashu40 = mashu40 + 1if str(k[7]) in j:mashu41 = mashu41 + 1if str(k[8]) in j:mashu42 = mashu42 + 1if str(k[9]) in j:mashu43 = mashu43 + 1if str(k[10]) in j:mashu44 = mashu44 + 1print(f"34码的人数:{mashu34}")
print(f"35码的人数:{mashu35}")
print(f"36码的人数:{mashu36}")
print(f"37码的人数:{mashu37}")
print(f"38码的人数:{mashu38}")
print(f"39码的人数:{mashu39}")
print(f"40码的人数:{mashu40}")
print(f"41码的人数:{mashu41}")
print(f"42码的人数:{mashu42}")
print(f"43码的人数:{mashu43}")
print(f"44码的人数:{mashu44}")
print(f"总人数:{mashu34+mashu35+mashu36+mashu37+mashu38+mashu39+mashu40+mashu41+mashu42+mashu43+mashu44}")

结果:


比例应该一眼就看出来了吧,34-44分别是1.2%、4.2%、9.6%、10.8%、10.7%、10.9%、13.8%、16.3%、12.6%、6.3%、3.6%
(小声bb:我也是给41上票的一个人哈哈)

结束

Python爬取京东回力鞋购买情况并做简单的数据分析到此就结束啦,本篇文的程序还是极为简单的哈。总之爬虫的思路千变万化,要看爬取数据的网站情况,并且这里提醒一下大家,不要去触碰到法律了哈。不然真应了那句:爬虫写的好,坐牢坐到老。

Python爬取京东回力鞋购买情况看看码数比例相关推荐

  1. Python爬取京东书籍信息(包括书籍评论数、简介等)

    Python爬取京东书籍信息(包括书籍评论数.简介等) 一. 工具 二. 准备爬取的数据 三. 内容简述 四. 页面分析 (一) 寻找目录中商品所在标签 (二) 寻找页面中能爬取到的所有数据 (三) ...

  2. 如何使用python编程抢京东优惠券 知乎_学好Python爬取京东知乎价值数据

    原标题:学好Python爬取京东知乎价值数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这 ...

  3. Python爬取京东任意商品数据实战总结

    利用Python爬取京东任意商品数据 今天给大家展示爬取京东商品数据 首先呢还是要分思路的,我分为以下几个步骤: 第一步:得到搜索指定商的url 第二步:获得搜索商品列表信息 第三步:对得到的商品数据 ...

  4. [爬虫-python]爬取京东100页的图书(机器学习)的信息(价格,打折后价格,书名,作者,好评数,差评数,总评数)

    Python爬取京东的机器学习类图书的信息 一,配置搜索关键字和页数, 二,查找用到的三个URL的过程 1. 搜索图书的URL 2. 评论总数,差评数,好评数的URL 3. 当前价格与打折前价格URL ...

  5. Python爬取京东商品评论数据

    一.前言 本文将承接笔者的上篇文章Python爬取京东商品数据,使用京东商品唯一id字段"sku"拼接url,得到真实的京东商品评论网址,进而解释数据并保存到文件中,所爬取到的数据 ...

  6. Python爬取京东商品评论

    京东商城的页面不是静态页面,其评论信息存放于json文件中,由ajax控制,所以我们在浏览器上看到的网页源代码和用Python爬下来的是不一样的,所以我们真正要爬取的是评论数据所存放的json文件. ...

  7. Python爬取京东商品评论和图片下载

    Python爬取京东商品评论和图片下载 代码仅供学习使用,切勿扩散并且频繁爬取网站 贴上代码和注释,方便自己下次看 import requests import time import json im ...

  8. python爬取京东数据加载失败_python 爬京东数据时,无法登陆。

    想使用python爬取京东的快递信息,现在需要解决的首要问题是使用python模拟浏览器登陆,遇到了下面的问题. _t _ntNBMNX ({"username":"\u ...

  9. python爬虫用什么电脑好_【Python】【爬虫】最近想买电脑,用Python爬取京东评论做个参考...

    最近想换电脑,又有点不确定买哪一款.所以决定爬取京东上电脑评论,做个参考,并把最终结果绘制成词云图. 一.先来看下三款电脑评价的词云图 1 用Python爬取京东自营ThinkPad T490s的评论 ...

最新文章

  1. 深度学习框架PyTorch快速开发与实战
  2. Android 中的 Service 全面总结(转)
  3. 为什么有人不喜欢标准成本?
  4. 庄闲分析软件安卓版_关于公布湖南省2020年第七批软件产品评估结果的通知
  5. PHP IE中下载附件问题
  6. 一元两次方程组c语言,一元二次方程求解程序完整代码
  7. Linux GPIO键盘驱动开发记录_OMAPL138
  8. 如何在Mac上备份和共享文本替换?
  9. Android三种左右滑动效果 手势识别(转)
  10. [GL]OpenGL 3D变换
  11. 网页保存为PDF遇到的问题(网页打印)
  12. 理科生毕业,如何写论文,为论文降重
  13. 仪器仪表通讯协议1: CJ/T188水表通讯协议
  14. 3.8 js过渡效果
  15. 从猎豹到山狮-苹果操作系统热衷于猫科动物代号
  16. 支付系统设计包含:账户,对账,风控...
  17. 湖北省2019.3全国计算机等级考试,湖北2019年3月全国计算机等级考试报名系统
  18. 安卓系统控制服务器,安卓系统远程控制云服务器
  19. 太空上新 | 张肇达 张凯惠:嫦娥奔月有了现实版
  20. 什么叫单模光纤_单模光纤和多模光纤的区别是什么

热门文章

  1. 微信小游戏之替换cocos自带启动/插屏界面
  2. 射频开关常见优化技术——深N阱MOS设计
  3. 【现代货币银行学】信用和利率(上)
  4. 使用get_fundamentals查询财务指标和估值指标(三)
  5. Mycat高可用解决方案一(mysql安装)
  6. 唐山5.1级地震,IoT 物联网智能电视弹出预警
  7. 一种最方便做好中长线股票的方法
  8. Java后端基础知识笔记
  9. 显示器测试软件 鲁大师,鲁大师怎么检测显示器 鲁大师有什么作用
  10. x265中计算RD Cost的几种方式