本次内容:
爬取电商平台数据,python爬取某维商品数据
课程亮点
- 动态数据抓包演示
- json数据解析
- requests模块的使用
- 保存csv
环境介绍
- python 3.8 [最好用和老师一样的版本]
- pycharm 2021.2 专业版 yyds
- requests >>> pip install requests
- csv
安装方法:
win + R 输入cmd 输入安装命令 pip install 模块名
如果出现爆红 可能是因为 网络连接超时 切换国内镜像源
相对应的安装包/安装教程/激活码/使用教程/学习资料/工具插件 可以私我领取哦~
思路流程: (爬虫最基本流程)
一. 数据来源分析
分析我们想要的数据 可以从哪里获取
-
通过开发者工具分析可得 一页商品 120条数据 他分为三组内容 50 50 20
-
每个url地址需要的商品ID 前50个ID为一组 中间50个ID为一组 最后20个ID为一组
-
去分析 我们商品ID从哪里来的…
如果想要通过爬取获取这些数据
- 首先获取所有商品ID
- 进行分组分类(切片) 前50 中50 后20
- 把这些传入 商品数据包里面 就可以得到 商品数据
二. 代码实现步骤
- 发送请求, 对于ID的网址发送你请求
- 获取数据, 获取服务器返回的数据内容
- 解析数据, 提取我们想要商品ID
- 发送请求, 把商品ID传入 商品数据包url里面
- 获取数据, 获取服务器返回的数据内容
- 解析数据, 提取我们想要商品数据信息
- 保存数据, 把数据保存csv表格文件
- 多页爬取
- 查看结果
爬虫 [模拟]浏览器对于服务器发送请求
首先导入模块
# 导入数据请求模块
import requests # pip install requests 在cmd里面或者pycharm终端里面安装
# 导入格式化输出模块
import pprint
# 导入csv模块
import csv
# 导入时间模块
import time
后续代码
# 创建一个csv文件
f = open('口红data.csv', mode='a', encoding='utf-8', newline='')
# 调用csv方法
csv_writer = csv.DictWriter(f, fieldnames=[
'标题',
'品牌',
'原价',
'折扣',
'售价',
'属性',
'详情页',
])
csv_writer.writeheader()
headers = {
# 'cookie': 'vip_cps_cuid=CU1641815302342da2eee44221f3c0d4; vip_cps_cid=1641815302345_f63fc9087855c60e21a2950b0189ec24; cps_share=cps_share; vip_wh=VIP_NH; cps=adp%3Antq8exyc%3A%40_%401641815302344%3Amig_code%3A4f6b50bf15bfa39639d85f5f1e15b10f%3Aac014miuvl0000b5sq8cx6g534o9fx83; PAPVisitorId=8d9d410e1944339b815ec911aa7f9714; vip_new_old_user=1; vip_address=%257B%2522pname%2522%253A%2522%255Cu5e7f%255Cu4e1c%255Cu7701%2522%252C%2522pid%2522%253A%2522104104%2522%252C%2522cname%2522%253A%2522%255Cu5e7f%255Cu5dde%255Cu5e02%2522%252C%2522cid%2522%253A%2522104104101%2522%257D; vip_province=104104; vip_province_name=%E5%B9%BF%E4%B8%9C%E7%9C%81; vip_city_name=%E5%B9%BF%E5%B7%9E%E5%B8%82; vip_city_code=104104101; user_class=a; mst_area_code=104104; mars_sid=da8baa5d8a2c73dba298da602ff87292; mars_pid=0; visit_id=A7C92212D3DF003A212EB6666C36D2C3; VipUINFO=luc%3Aa%7Csuc%3Aa%7Cbct%3Ac_new%7Chct%3Ac_new%7Cbdts%3A0%7Cbcts%3A0%7Ckfts%3A0%7Cc10%3A0%7Crcabt%3A0%7Cp2%3A0%7Cp3%3A1%7Cp4%3A0%7Cp5%3A0%7Cul%3A3105; vip_access_times=%7B%22list%22%3A2%7D; pg_session_no=7; vip_tracker_source_from=; mars_cid=1641815303238_957cedc5b831e57207fd8334dcd97297',
'referer': 'https://category.vip.com/', # referer 防盗链 告诉服务器我们的请求的url地址 是从哪里跳转过来的
# user-agent