双十一到了,当我用Python采集了电商平台所有商品后发现....

news2024/11/26 1:40:50

Python采集电商平台

  • 写在前面
  • 环境及模块
  • 案例实现思路
  • 代码展示
  • 效果展示
  • 最后

写在前面

这不是双十一快到了,为了以最优惠的价格买到自己想买的商品,我不惜用Python把ya ma xun 所有商品撸了一遍。

环境及模块

使用环境
python 3.8
pycharm 2021

模块及安装

requests  # 数据请求模块 pip install requests
parsel   # 解析数据  pip install parsel  xpath  css

案例实现思路

分析数据来源

静态数据:我们能够通过 右键点击查看网页源代码 找到的内容

动态数据:找不到的内容

当你不知道怎么区分的时候 直接用network

代码实现步骤

  1. 发送请求 通过代码的方式 去访问一下 上方的网址
  2. 获取数据
  3. 解析数据 从获取出来的数据当中提取我们需要的
  4. 保存数据

代码展示

# 网址我都屏蔽了,以免审核不过..
f = open('yamaxun.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(['title', 'score', 'price', 'link', 'img_url'])
# 伪装
headers = {
     # 用户身份信息
    'Cookie': 'session-id=461-5432315-2651056; i18n-prefs=CNY; ubid-acbcn=460-4142230-3903418; csm-hit=tb:Y5HFFE1BM9655HPJMQX0+s-A96X9VP6NWER0K4SRXNF|1667650218841&t:1667650218841&adb:adblk_no; session-token="R+xUs8v/1RH9U8xjkIb6UNUS8yc/OinE8juA0eJPnO/+cTnMIPD81zAO3IRfcAEURcQkEbGFXpGLZKjqI0wLpOtgXzqiRwM/e7nxtYSlUxMdLnFkslL1xyWGjL+bvt3pCW3QlUub6KER8qGBe74quFjTvFoxAMKSP5zaM5G4oFCqYppJ1JLFWi7LQv/kN//k/pvPpKreZ4rIRU+A9L+83TO3ukoW6z3YkvIkDnaX4E0="; session-id-time=2082787201l',
    # 防盗链
    'Referer': 'https:///b?node=665002051',
    # 浏览器的基本信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64;x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}

for page in range(1, 400):
    print(f"---正在采集第{page}页---")
    url = f'https:///s?i=communications&rh=n%3A665002051&fs=true&page={page}&qid=1667650286&ref=sr_pg_{page}'
    # 1. 发送请求
    response = requests.get(url=url, headers=headers)
    # 2. 获取数据
    html_data = response.text
    # 3. 解析数据
    select = parsel.Selector(html_data)
    divs = select.css('div.s-main-slot.s-result-list.s-search-results.sg-row>div')
    # 每个商品的信息
    # 二次提取每个商品信息里面的 字段
    for div in divs[1: -3]:
        # 提取标签属性内容
        # ::attr(属性名称)
        img_url = div.css('img.s-image::attr(src)').get()
        # 提取标签文本内容
        # <a>fhuiweaihfwjw</a> ::text
        title = div.css('span.a-size-base-plus.a-color-base.a-text-normal::text').get()
        score = div.css('span.a-icon-alt::text').get()
        price = div.css('span.a-offscreen::text').get()
        link = div.css('a.a-link-normal.s-no-outline::attr(href)').get()
        print(title, score, price, link, img_url)
        # 4. 保存数据
        csv_writer.writerow([title, score, price, link, img_url])

完整代码文末名片领取,还有对应的视频讲解。

效果展示

我设置的是400页,就不展示这么多了,难等!

最后

兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些兄弟们,我准备了大量的免费视频教程,PDF电子书籍,以及源代码!

直接在文末名片自取!








好了,今天的分享到这里就结束了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4408.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重磅发布 | 更快、更强的 .NET 7

.NET Conf 2022在11⽉8⽇11点正式开始了&#xff0c;为期三天的会议&#xff08;11⽉8-10⽇&#xff09;&#xff0c;围绕 .NET 7 展开。相信各位⼩伙伴都已经开始安装 .NET 7 正式版本以及相关的开发⼯具。这次 .NET 7 围绕传统的 C#&#xff0c;ASP.NET Core, Blazor, .NET M…

如何用python给女神写一封照片情书?亲测表白率100%~

嗨害大家好鸭&#xff01;我是小熊猫❤ 咳咳…大家都问我 是怎么追到我女神的&#xff0c; 斗胆来分享一下俺的小教程&#x1f4a8; 实现步骤 想要实现把情书写在像素中&#xff0c; 那么我们就需要用到pillow这个神器。 众所周知&#xff0c;图片是由无数个像素所组成的&…

【Spring Boot项目】个人在线音乐播放器

文章目录项目简介数据库表的设计拦截器及返回数据格式注册功能登陆功能音乐列表相关业务查询功能上传音乐播放音乐收藏音乐删除功能删除单个音乐批量删除音乐收藏列表查询收藏的音乐取消收藏注销功能项目简介 本项目主要是实现了在线播放音乐的功能&#xff0c;用户可以随时登…

[RCTF 2019]Nextphp

知识点&#xff1b;利用 FFI 绕过 disable_functionFFI 介绍与利用 首先 FFI 肯定要开&#xff0c;且 PHP 版本肯定要早 7.4 以上 简介&#xff1a; FFI &#xff0c;可以让我们直接在PHP脚本中调用C语言写的库中的函数。 FFI 的安全性问题 FFI虽然给了我们很大的灵活性&am…

人脸视频检索系统设计(C++)

目录 人脸检索系统框架的构建 1 一.软件实现的主要界面 1 二.软件的需求概括 1 三.软件代码设计过程中需要注意的问题 2 四.程序到目前为止产生的诸多缺陷 4 五.程序的详细设计过程 4 1.输入部分的设计 4 2.检测结果部分的设计过程 10 人脸检索系统框架的构建 ------FaceMFC_v…

腾讯148道面试题,(程序员必备学习方向)全会拿45Koffer没问题

相信你可能经历过这些&#xff1a; 已经工作两三年了&#xff0c;每个项目都会加班加点全力以赴去完成&#xff0c;薪资增长幅度却不如人意。听说年后离职的老同事&#xff0c;金三刚拿下高薪offer&#xff0c;年薪直奔50万了。由于现在的公司接触不到新技术&#xff0c;对自己…

思科网络部署实验

作者介绍&#xff1a; 作者&#xff1a;小刘在C站 每天分享课堂笔记&#xff0c;一起努力&#xff0c;共赴美好人生&#xff01; 夕阳下&#xff0c;是最美的绽放。 今天带个大家一个实验&#xff0c;为网络篇的综合实验&#xff0c;有能力的可以试一试不会的可以私信小刘。 配…

排序算法:插入排序、冒泡排序、选择排序、希尔排序、堆排序、快速排序、归并排序

排序算法相关总结&#xff0c;涉及的排序算法有&#xff1a;插入排序、冒泡排序、选择排序、希尔排序、堆排序、快速排序、归并排序&#xff08;动图不是自己画的&#x1f31e;&#xff09;。 目录1.插入排序2.冒泡排序3.选择排序4.希尔排序5.堆排序6.快速排序7.归并排序总结稳…

【Revit二次开发】模型中存储数据——参数和外部存储(Parameter, Schema and Entity)

模型中存储数据参数读取写入外部存储SchemaEntity快速获取外部存储参数参数 在Revit平台API中&#xff0c;每个图元对象都有参数属性&#xff0c;它是隶属于图元所有属性的集合&#xff0c;在此集合中更改属性值。 每个图元的参数都有一个与之关联的ElementId类型的ID大多数参…

KMP算法

文章目录KMP算法KMP算法 KMP算法要解决的问题就是在字符串&#xff08;也叫主串&#xff09;中的模式&#xff08;pattern&#xff09;定位问题。说简单点就是我们平时常说的关键字搜索。模式串就是关键字&#xff08;接下来称它为P&#xff09;&#xff0c;如果它在一个主串&…

C++图的建立---邻接矩阵-----邻接表

目录 图的表示方式 邻接矩阵 邻接表 图的遍历 深度优先遍历 深度优先遍历算法步骤&#xff1a; 图的广度优先遍历 广度优先遍历算法步骤: 图的邻接矩阵存储来创建图 代码 运行结果&#xff1a; 图的邻接表存储来创建图 如下图&#xff1a; 运行结果&#xff1…

认定能源管理体系的条件

能源管理体系认证申请清单&#xff08;GB/T 23331-2012《能源管理体系 要求》国家标准&#xff09;体系运行时间超过6个月 1、营业执照复印件&#xff1b; 2、组织机构代码证&#xff08;适用时&#xff09;&#xff1b; 3、生产许可证和其他行政许可证明复印件、资质证明等…

保卫城市消费券安全,从这些做起

近日&#xff0c;顶象发布的《城市消费券安全调研报告》&#xff08;以下简称《调研报告》&#xff09;中明确提出&#xff0c;自消费券发放之日起&#xff0c;黑灰产便盯上了这块蛋糕。据不完全统计&#xff0c;190多亿的消费券&#xff0c;消费者只抢到29%。 而在百度键入消…

公众号网课答案在线查搭建

公众号网课答案在线查搭建 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 题库&#xff1a;题库后台&#xff08;点击跳转&#…

操作系统实验三虚拟存储器管理之模拟页面置换算法(FIFOLRU)

文章目录 一、概述 &#xff08;1&#xff09;置换算法 &#xff08;2&#xff09;缺页率与命中率 二、先进先出置换算法&#xff08;FIFO&#xff09; (1)定义 (2)示例 &#xff08;3&#xff09;Belady异常 三、最近最久未使用置换算法&#xff08;LRU&#xff09; &#…

LeetCode每日一题——764. 最大加号标志

LeetCode每日一题系列 题目&#xff1a;764. 最大加号标志 难度&#xff1a;普通 文章目录LeetCode每日一题系列题目示例思路题解题目 在一个 n x n 的矩阵 grid 中&#xff0c;除了在数组 mines 中给出的元素为 0&#xff0c;其他每个元素都为 1。mines[i] [xi, yi]表示 g…

谈谈HTTP协议的方法里,GET和POST的区别?我来教你如何回答~

目录 前言 一、什么是GET、POST&#xff1f; 1.1GET 1.2POST 二、如何轻松回答&#xff1f; 第一步、直接盖棺定论&#xff1a; 第二步、谈细节上的区别&#xff1a; 前言 要想回答好这个问题&#xff0c;咱们先来了解以下什么是GET、POST方法&#xff0c;有哪些细节要注…

阿宇wifi球机如何连接手机

首先下载APP&#xff0c;请见以下三种方式&#xff1a; &#xff08;1&#xff09;至APP Store、各大应用市场搜索 “智U”&#xff0c;下载并安装APP。  &#xff08;2&#xff09;登录ezcloud.uniview.com官网&#xff0c;扫描界面右下方智U APP二维码&#xff0c;下载并…

SpringBoot线上服务假死解决,CPU内存正常

背景 开发小伙伴都知道线上服务挂掉&#xff0c;基本都是因为cpu或者内存不足&#xff0c;出现GC频繁OOM之类的情况。本篇文章区别以上的情况给小伙伴们 带来不一样的服务挂掉。 还记得哔哩哔哩713事故中那场诡计多端的0吗&#xff1f; 对就是这个0&#xff0c;和本次事故没关…

Python基础知识入门(二)

Python基础知识入门&#xff08;一&#xff09; 一、数字类型 Python 数字数据类型用于存储数值。数据类型是不允许改变的&#xff0c;如改变数字数据类型的值&#xff0c;将重新分配内存空间。 1.数字函数 函数 描述 abs(x) 返回数字的绝对值。如abs(-10) 返回 10。 fa…