python实训-爬虫

1、爬虫

  • 定义:爬取网络数据的虫子(Python程序)
  • 实质:模拟浏览器的工作原理,向服务器请求相应的数据

2、浏览器的工作原理

        登录网址URL ——>浏览器向服务器发送请求——>服务器收到请求后,会响应对应的数据给浏览器。

  • 浏览器还起到了翻译数据的作用,将代码翻译成界面

3、爬虫的工作原理

        代替浏览器向服务器发送请求


实操训练:

需求:分析京东上:销量最高的鞋子,最受欢迎的颜色以及鞋码

做题:

鞋子的销售数据

  • 通过评论数据间接得到鞋子的销售数据

评论区内容背后的URL

  • (1)鼠标右击选择检查,打开程序员调试窗口,点击network(网络)
  • (2)刷新当前页面
  • (3)复制一小段评论区内容,然后在程序员调试窗口点击放大镜,粘贴
  • (4)点击刷新小圆圈,查找
  • (5)点击查询结果的第二行,跳转到对应的请求
  • (6)点击Headers,找到Request URL即几评论区数据背后的UR

第一步:爬取数据:

  • (1)引入Python工具包requests
  • (2)使用工具包中的get方法,向服务器发起请求
  • (3)打印输出请求回来的数据(print语法)
  • import requests
    resp = requests.get('https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100010560687&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1')
    print(resp.text)

第二步:解析数据:

  • (1)打开网页工具 www.json.cn
  • (2)将数据整理成Json格式:以大括号开头和结尾
  • (3)找到目标数据值对应的名字

第三步:利用Python replace语法

  •  replace为替换的意思,可以使用replace把任何不想要的数据替换成一个新值

引入Python整理数据的工具包 json、获取鞋子颜色及鞋码数据

import requests
import json
re = requests.get('https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100010560687&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1')
con = re.text
re1 = con.replace('fetchJSON_comment98(','').replace(');','') # replace替换操作,将前缀后缀不需要的部分删除
json_data = json.loads(re1)  # 将URL内的数据整理为json格式
comments = json_data['comments']  # 选中comments的内容
for item in comments:
  color = item['productColor']  # 获取所comments中的所有颜色,大小
  size = item['productSize']
  print(color)
  print(size)

第三步、引入openpyxl工具包存储数据

  • (1)创建一个Excel表格

  • (2)创建一个sheet

  • (3)在sheet里面保存数据

  • (4)把表格保存在一个磁盘里

import requests
import json
import openpyxl  # 使用openpyxl工具包
wk = openpyxl.Workbook()
sheet = wk.create_sheet() # 创建表格
re = requests.get('https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=100010560687&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1')
con = re.text
re1 = con.replace('fetchJSON_comment98(','').replace(');','') # replace替换操作,将前缀后缀不需要的部分删除
json_data = json.loads(re1)  # 将URL内的数据整理为json格式
comments = json_data['comments']  # 选中comments的内容
for item in comments:
  color = item['productColor']  # 获取所comments中的所有颜色,大小
  size = item['productSize']
  print(color)
  print(size)
  #sheet.append([color,size]) # 第一列保存color的数据,第二列保存size的数据
  #wk.save('data/余生-123456.xlsx') # 输入磁盘保存的路径
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小翔很开心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值