Python 爬虫+可视化,手把手教你使用 Python 爬取 JD 网站并且可视化展示

2023-05-16

当你看到别人使用 Python 网络爬虫做出一些高大上的项目你是否也有那么一点点的心动?羡慕别人用几行简单的代码就能获取到自己想要的数据?羡慕别人用几行代码就能做出优美的可视化图案?

我将使用最新 Python 3.9 在中秋之际为大家抓取某东月饼并使用 openpyxl 存入 Excel,然后使用 Pandas 清洗处理最后使用 pyecharts 可视化展示。通过这样一个简单的案例你将学到以下内容:

  1. 最新 Python 3.9 环境安装配置
  2. 静态页面和动态页面时 Python 爬取数据方式
  3. 使用 Openpyxl 对 Excel 数据进行存储处理
  4. Pandas 对数据数据处理(清洗、筛选、过滤等)
  5. 使用 Jieba 分词并且使用 WordCloud 制作精美词云图和词频图
  6. 使用 pyecharts 对处理后的数据进行直方图、折线图、饼图和漏斗图等的简单了解和使用
  7. 使用 SnowNLP 模块对用户进行情感分析以确定用户对产品的满意度

接下来我们一起进入实战吧!

Python 3.9 环境搭建 for windows

1. 打开 Python 官网 ,选择最新版本 3.9 下载:

https://www.python.org/downloads/

在这里插入图片描述

2. 下载完成,双击 exe 文件进行安装,一路选择 Next,等待安装完成即可。

在这里插入图片描述

3. 验证 Python 环境是否安装搭建:Win 下面打开 cmd 窗口(win 键+ R,输入 cmd 回车),在 cmd 窗口中输入 python 命令,回车后显示当前 python 版本即可,即可证明安装成功。

图片

4. 第一个 Python 程序

我们在上面一步的基础上,来写我们使用的第一个 Python 程序,命令行中输入如下语法:

print("hello world!")

输入完后执行回车键,命令行就会输出 hello world!,如下图:

图片

这样我们第一个 Python 程序就完成了,是不是很简单?

静态页面和动态页面时 Python 爬取数据方式

首先我们先来简单了解一下什么是静态和动态网页。

静态网页:

  • 数据非结构化:HTML 标签
  • 处理方式可以为:正则表达式、xpath、BeautifulSoup
  • 静态页面的数据都包含在响应中,可通过分析源代码获取对应节点
  • 名称/值,一般会在响应的 URL 中,以 ? 代表 URL 结束

例如我们熟知的豆瓣电影网站就是一个静态加载的页面:

在这里插入图片描述

动态页面:

  • 数据结构化:json、xml 等
  • 可直接转化为 Python 类型
  • 动态页面数据存储在 json 中,可通过响应内容获得 json 数据

对于静态网页的爬虫不用多说大家也都知道,网页中所呈现的内容我们都可以在源码中找到。因为爬取静态网页非常的简单,只要用 requests 直接把 html 爬取下来然后用正则等方式匹配我们所要获取的内容就可以了。

相对于静态网页的简单,但是动态网页的就会相对而而言会复杂一下,它是网站在不重新加载的情况下,通过 Ajax 等技术动态更新网站中的局部数据。比如拉勾网的职位页面,在换页的过程中,url 是没有发生改变的,但是职位数据动态的更改了。

而我们今天要获取的 JD 数据就是一个动态网页加载的案例。

如何区分静态加载还是动态加载的网页呢?告诉你们一个很简单的方法:打开浏览器设置搜索 JavaScript,关闭它然后重新刷新网页。还可以正常加载出来内容就是静态网页,反之则为动态加载的网页。

阅读全文点击这里

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 爬虫+可视化,手把手教你使用 Python 爬取 JD 网站并且可视化展示 的相关文章

  • 简化的围棋棋子规则(C++实现)

    题目 xff1a 输入棋盘 xff1a 1 1 2 3 2 3 3 3 2 3 3 3 2 2 2 3 3 3 1 2 2 2 3 3 2 1 1 2 3 1 其中1代表空 xff0c 2代表白子 xff0c 3代表黑子 xff09 输出
  • Acrobat DC 常用快捷键

    参考 xff1a https helpx adobe com cn acrobat using keyboard shortcuts html 动作快捷键下一页向右键或 Ctrl 43 Page Down上一页向左键或 Ctrl 43 Pa
  • 用Python爬取淘宝网商品信息

    用Python爬取淘宝网商品信息 转载请注明出处 网购时经常会用到淘宝网 点我去淘宝但淘宝网上的商品琳琅满目 xff0c 于是我参照中国大学 MOOC的代码写了一个爬取淘宝网商品信息的程序 代码如下 xff1a span class tok
  • 在Ubuntu中,使用minicom抓串口log

    xff08 1 xff09 先插上串口线 xff0c 连上设备 xff08 2 xff09 确定连的是哪个串口 ls dev tty 如果是串口转USB xff0c 然后连到主机上 xff0c 则为 dev ttyUSB 如果是直接串口连到
  • 【问题解决】Ubuntu中双击文件夹没有反应

    我的情况是 xff0c 在Windows下安装的虚拟机 xff0c 虚拟机上跑的Ubuntu16 04 某天突然出现这个bug xff0c 而且开其他的Ubuntu也是这种情况 百度一下 xff0c 我就知道了 xff0c 是在Window
  • 在Chrome中加载未打包的扩展

    Load the extension Extensions that you download from the Chrome Web Store are packaged up as crx files which is great fo
  • 在VMware下创建ubuntu虚拟机,以及与win建立ssh远程连接,全网最全

    一 下载VMware Workstation 官方下载最新版本 xff0c 正常下载即可 二 下载Ubuntu ios镜像文件 下载地址 xff1a https ubuntu com download desktop 三 Ubuntu 配置
  • log4j2.xml 配置文件详解

    一 log4j2介绍 log4j 2 x版本不再支持像1 x中的 properties后缀的文件配置方式 xff0c 2 x版本配置文件后缀名只能为 34 xml 34 json 34 或者 jsn 34 配置文件的格式 xff1a log
  • 个性化设置shell命令提示符

    实际显示效果如下 xff1a 对应的命令如下 xff0c 可以根据自己喜欢的颜色做修改 xff1a PS1 61 39 debian chroot 43 debian chroot 033 01 32m u 64 h 033 00m 033
  • Python安装时import matplotlib.pyplot as plt报错

    xfeff xfeff from six import advance iterator integer types ImportError No module named six 解决办法是 xff1a 把路径如 xff1a C Pyth
  • easyExcel Content-Type: application/vnd.ms-excel 异常

    自测ok xff0c 部署到服务器就报错 一开始以为消息转换器问题 没看cause by导致定位的方向错误 报错一看 缺少so库导致的 本地是m1pro的arm jdk11 再看看线上的dockerfile 用的是FROM openjdk
  • Xfce,KDE和Gome之间的自由切换。

    今天尝试了一下ubuntu 43 xfce 但是发现xfce虽然轻小 xff0c 但是反映和表现并不好 在兼容性上存在很大的问题 于是决定卸掉xfce 鉴于之前使用gnome和uity比较长久的历史 xff0c 今天决定尝试下kde 首先需
  • SimuLink示波器设置多路输入

    PS xff1a matlab版本 xff1a Matlab2019a step1 xff1a 打开 Simulink Library Browser xff0c 搜索 scope xff08 示波器 xff09 xff0c 拖拽入仿真面板
  • Ubuntu22.04上安装Xilinix Vivado 2018.3

    OpenWiFi的默认编译仿真工具是Xilinx Vivado 218 3 在Ubuntu22 04 LTS上安装Xilinx Vivado 2018 3之前 xff0c 首先要安装如下的库 sudo apt get install lib
  • 将应用加到Ubuntu的Favorites

    Ubuntu可以将从它的repo安装的应用程序加到Favorites xff0c 从而方便使用 但有很多应用程序并不是这样安装的 xff0c 就不能直接加到Favorites 下面的方法可以将任何应用加到Favorites 首先生成一个de
  • Build OpenAirInterface

    OpenAirInterface is a famous open source LTE NR implementation Its buidling guide doc BUILD md says that it can be build
  • Android技巧:学习使用GridLayout

    GridLayout是一个非常强大的网格类布局 xff0c 它不但能像TableLayout那样 xff0c 实现网格类布局 xff0c 但它更为强大的地方在于每个Cell的大小可以横向或者纵向拉伸 xff0c 每个Cell的对齐方式也有很
  • 说说Android的MVP模式

    更多精彩博客 安卓应用开发是一个看似容易 xff0c 实则很难的一门苦活儿 上手容易 xff0c 看几天Java xff0c 看看四大组件咋用 xff0c 就能整出个不太难看的页面来 但是想要做好 xff0c 却是很难 系统框架和系统组件封
  • Android实战技巧:如何在ScrollView中嵌套ListView

    前几天因为项目的需要 xff0c 要在一个ListView中放入另一个ListView xff0c 也即在一个ListView的每个ListItem中放入另外一个ListView 但刚开始的时候 xff0c 会发现放入的小ListView会
  • Android实战技巧:ViewStub的应用

    在开发应用程序的时候 xff0c 经常会遇到这样的情况 xff0c 会在运行时动态根据条件来决定显示哪个View或某个布局 那么最通常的想法就是把可能用到的View都写在上面 xff0c 先把它们的可见性都设为View GONE xff0c

随机推荐

  • 深入浅出Windows BATCH

    1 什么是Windows BATCH BATCH也就是批处理文件 xff0c 有时简称为BAT xff0c 是Windows平台上的一种可执行脚本 xff0c 与 nix Linux和Unix 上的Shell脚本和其他的脚本 xff08 P
  • Android实战技巧:深入解析AsyncTask

    AsyncTask的介绍及基本使用方法 关于AsyncTask的介绍和基本使用方法可以参考官方文档和Android实战技巧 xff1a 多线程AsyncTask 这里就不重复 AsyncTask引发的一个问题 上周遇到了一个极其诡异的问题
  • 学习Kotlin,看这一篇就够了

    人生苦短 xff0c 要用Kotlin 这是一种对程序猿更为友好的语言 xff0c 可以减少开发者的工作量 xff0c 原本由开发者干的事情 xff0c 其实很多都可以由编译器实现了 xff0c 这是一种更为高级的语言 Java虽然严谨 x
  • Ubuntu 超给力终端 Terminator(包含超全快捷键列表)

    Terminator是Ubuntu上的一款拥有强大能力的终端app 文章目录 1 Terminator 特性2 Terminator 安装3 Terminator 快捷键一览 1 Terminator 特性 Terminator 与xter
  • Sed与AWK入门教程之Sed篇

    Sed和AWK是 nix命令行里面文本处理的神器 相当的强大 它们都是面向行的 或者说它们处理文本的方式都是一行接着一行的处理 从标准输入或者文件中读取内容 一行一行的执行脚本命令 然后打印输出到标准输出 直到文件结尾 EOF Sed Se
  • 老鸟的Python入门教程

    重要说明 这不是给编程新手准备的教程 如果您入行编程不久 或者还没有使用过1到2门编程语言 请移步 这是有一定编程经验的人准备的 最好是熟知Java或C 懂得命令行 Shell等 总之 这是面向老鸟的 让老鸟快速上手Python教程 为什么
  • MATLAB自编自适应中值滤波算法

    代码原理 xff1a 在噪声密度不是很大的情况下 xff08 根据经验 xff0c 噪声的出现的概率小于0 2 xff09 xff0c 使用中值滤波的效果不错 但是当噪声出现的概率比较高时 xff0c 原来的中值滤波算法就不是很有效了 只有
  • 利用Github免费搭建个人主页(个人博客)

    之前闲着 利用Github搭了个免费的个人主页 colin1994 xyz 这里是我的一个简单主页 xff0c 有兴趣的朋友可以访问看看 先不公开了 今天到家了 趁着闲着 写一篇相关教程记录自己搭建的过程 涉及 Github注册 Githu
  • SpringMVC的配置

    SpringMVC的配置 一 拦截器 1 拦截器的配置 SpringMVC中的拦截器用于拦截控制器方法的执行 SpringMVC中的拦截器需要实现HandlerInterceptor xff0c 拦截器需要重写三个方法 xff0c 注意pr
  • Shell 命令基础

    Shell 命令基础 1 命令格式 常见的 Linux 命令的格式如下 xff1a 命令名称 span class token punctuation span 选项 span class token punctuation span 参数
  • android 深度图

    在 Android开发中自定义控件是一个范围很广的话题 xff0c 讲起自定义控件 xff0c 从广度上来划分的话 xff0c 大体上可以划分为 xff1a View ViewGroup的绘制事件分发各种动画效果滚动嵌套机制还有涉及到相关的
  • 非分区表转换为分区表(非联机)

    有些表由于过大 xff0c 需要拆分为分区表 xff0c 由于联机转化可能导致一些问题 xff0c 所以可以采用停机rename的方法 xff0c 可大致按照如下步骤操作 xff1a xff08 假设要删除表 xff0c 名称叫做Table
  • Ngnix反向代理内外网访问

    1 Web应用使用Nginx进行代理 xff0c 内网访问则直接是访问的Nginx 80代理服务器 xff0c 在外网则访问不了 xff0c 所以就有一个问题需要映射网络 2 通过路由器配置将Nginx 80代理服务器80端口映射到Web主
  • 解决windows10睡眠期间自动唤醒的问题

    背景 自己在台式机上安装好windows10后启动睡眠功能 xff0c 发现期间会出现自动唤醒的情况 第一步 在 控制面板 中找到 电源选项 xff0c 在所选的选项里 更改计划设置 xff0c 点击 更改高级电源设置 xff0c 点击 睡
  • “ImportError: No module named carla” 问题的解决方案

    参考 https carla readthedocs io en latest ros installation run the ros bridge 问题描述 安装了ROS bridge 后运行时出错 roslaunch carla ro
  • springboot整合websocket(详解、教程、代码)

    springboot整合websocket 教程及代码 大家好 xff0c 我是酷酷的韩 1 websocket定义 WebSocket协议是基于TCP的一种新的网络协议 它实现了浏览器与服务器全双工 full duplex 通信 允许服务
  • JAVA经典面试题附答案(持续更新版)

    文章目录 前言1 JAVA基础2 JVM 知识3 开源框架知识4 操作系统5 多线程6 数据库知识7 最后附一遍持续整理的博客 前言 前言 少年易老学难成 xff0c 一寸光阴不可轻 未觉池塘春草梦 xff0c 阶前梧叶已秋声 朱熹 劝学诗
  • 视觉应用工程师-环境安装教学视频-Mac系统其他操作

    立即学习 https edu csdn net course play 29993 432706 utm source 61 blogtoedu Mac系统安装miniconda搭建深度学习环境 安装 Conda是一个开源的包 环境管理器
  • Windows 环境下安装Redis 5.0.x 服务图文教程

    Windows 环境下安装Redis 5 0 x 服务图文教程 Redis官网并没有提供windows的安装包 xff0c github有第三方制作的windows安装包 下载地址 xff1a https github com tporad
  • Python 爬虫+可视化,手把手教你使用 Python 爬取 JD 网站并且可视化展示

    当你看到别人使用 Python 网络爬虫做出一些高大上的项目你是否也有那么一点点的心动 xff1f 羡慕别人用几行简单的代码就能获取到自己想要的数据 xff1f 羡慕别人用几行代码就能做出优美的可视化图案 xff1f 我将使用最新 Pyth