Python 3爬虫、数据清洗与可视化实战
  • 推荐4
  • 收藏24
  • 浏览15.2K

Python 3爬虫、数据清洗与可视化实战

零一、韩要宾、黄园园 , 陈海城 (作者)  杨嘉媛 (责任编辑)

  • 书  号:978-7-121-33359-0
  • 出版日期:2018-03-27
  • 页  数:212
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:张慧敏
电子书 ¥29.00
购买电子书
纸质版 ¥49.00
本书是一本通过实战教初学者学习采集数据、清洗和组织数据进行分析及可视化的 Python 读物。书中案例均经过实战检验,笔者在实践过程中深感采集数据、清洗和组织数据的重要性,作为一名数据行业的“码农”,数据就是沃土,没有数据,我们将无田可耕。
本书共分 11 章, 6 个核心主题:其一是 Python 基础入门,包括环境配置、基本操作、数据类型、语句和函数;其二是 Python 爬虫的构建,包括网页结构解析、爬虫流程设计、代码优化、效率优化、容错处理、 反防爬虫、 表单交互和模拟页面点击; 其三是 Python 数据库应用, 包括 MongoDB、 MySQL 在 Python中的连接与应用;其四是数据清洗和组织,包括 NumPy 数组知识、 pandas 数据的读写、分组变形、缺失值异常值处理、时序数据处理和正则表达式的使用;其五是综合应用案例,帮助读者贯穿爬虫、数据清洗与组织的过程;最后是数据可视化,包括 Matplotlib 和 Pyecharts 两个库的使用,涉及饼图、柱形图、线图、词云图、地图等图形,帮助读者进入可视化的殿堂。
本书以实战为主,适合 Python 初学者及高等院校的相关专业学生,也适合 Python 培训机构作为实验教材使用。
Python爬虫技术的入门读物
通过实战教初学者学习爬取数据、清洗和组织数据进行分析和可视化
适合Python初学者、爱好者及高等院校的相关学生学习使用
零一
原名陈海城,
零一数据学院创始人,
电商数据专家,数据分析师,开发工程师。
从事培训教育、数据分析和人工智能行业。

黄园园,具有十年软件开发经验,全栈工程师,六西格玛黑带,精通Python和机器学习算法,具有丰富的分布式爬虫开发经验;曾在苏州三星电子电脑(SESC)、新加坡电信(NCS)、希捷科技(Seagate Technology)等世界知名企业研发部工作,参与过花旗银行在线支付系统、银行账单自动化审核系统等大型软件开发,曾任杭州沐垚科技CTO。

韩要宾,杭州沐垚科技有限公司 COO,CDA数据分析研究院资深讲师;5年电商从业经验,4年数据挖掘实战经验;专注于数据分析与挖掘、机器学习、深度学习,服务客户包括苏宁易购、迪卡侬、百草味、浙江师范大学等。
Python 是军刀型的开源工具,被广泛应用于 Web 开发、爬虫、数据清洗、自然语言处理、机器学习和人工智能等方面,而且 Python 的语法简洁易读,这让许多编程入门者不再望而却步,因此Python 在最近几年非常受欢迎,各行各业的技术人员都开始使用 Python。
本书内容来自笔者在高校授课的内容,主要介绍如何运用 Python 工具获取电商平台的页面数据,并对数据进行清洗和存储。本书简化了 Python 基础部分,保证有足够的篇幅来介绍爬虫和数据清洗的内容。
本书采用的版本是 Python 3.6.2,是笔者写书时的最新版本,而且笔者习惯用的操作平台是Windows 系统。虽然目前一些高校和开发者在使用 Python 2.7,但是 Python 团队将在 2020 年停止对Python 2.7 的支持更新, Python 2.X 转向 Python 3.X 是大势所趋。
本书第 1 章简单介绍 Python 和相关的 IDE,如果读者完全没有 Python 基础,那么建议选购一本基础书作为辅助。第 2~6 章介绍爬虫的实例,实现从最简单的爬虫到相对比较复杂的爬虫。鉴于实例的限制,本书的爬虫内容没有涉及代理服务器和验证码处理等问题。第 7 章介绍在 Python 中如何连接并操作数据库。第 8 章介绍了 NumPy 及其用法。第 9 章详细介绍 pandas 的功能,pandas 是 Python数据清洗和建模中非常重要的库。第 10 章用两个完整案例展示了从爬虫到建模的过程。第 11 章介绍 Python 的可视化,选用的库是 matplotlib 和 pyecharts,这里详细介绍了 pyecharts。
鉴于作者的水平有限,不足之处请读者不吝指教。

目录

第 1 章 Python 基础 /1
1.1 安装 Python 环境 /1
1.1.1 Python 3.6.2 安装与配置 /1
1.1.2 使用 IDE 工具——PyCharm /4
1.1.3 使用 IDE 工具——Anaconda / 4
1.2 Python 操作入门/6
1.2.1 编写第一个 Python 代码/6
1.2.2 Python 基本操作/9
1.2.3 变量/10
1.3 Python 数据类型/10
1.3.1 数字/10
1.3.2 字符串/11
1.3.3 列表/13
1.3.4 元组/14
1.3.5 集合/15
1.3.6 字典/15
1.4 Python 语句与函数/16
1.4.1 条件语句/16
1.4.2 循环语句/16
1.4.3 函数/17

第 2 章 写一个简单的爬虫/18
2.1 关于爬虫的合法性/18
2.2 了解网页/20
2.2.1 认识网页结构/ 21
2.2.2 写一个简单的 HTML/21
2.3 使用 requests 库请求网站/23
2.3.1 安装 requests 库/23
2.3.2 爬虫的基本原理/25
2.3.3 使用 GET 方式抓取数据/26
2.3.4 使用 POST 方式抓取数据/27
2.4 使用 Beautiful Soup 解析网页/30
2.5 清洗和组织数据/34
2.6 爬虫攻防战/35

第 3 章 用 API 爬取天气预报数据/38
3.1 注册免费 API 和阅读技术文档/38
3.2 获取 API 数据/40
3.3 存储数据到 MongoDB /45
3.3.1 下载并安装 MongoDB/ 45
3.3.2 在 PyCharm 中安装 Mongo Plugin/ 46
3.3.3 将数据存入 MongoDB/49
3.4 MongoDB 数据库查询/52

第 4 章 大型爬虫案例:抓取某电商网站的商品数据/55
4.1 观察页面特征和解析数据/55
4.2 工作流程分析/64
4.3 构建类目树/65
4.4 获取产品列表/ 68
4.5 代码优化/70
4.6 爬虫效率优化/74
4.7 容错处理/77

第 5 章 Scrapy 爬虫/78
5.1 Scrapy 简介/78
5.2 Scrapy 安装/79
5.3 案例:用 Scrapy 抓取股票行情/ 80

第 6 章 Selenium 爬虫/88
6.1 Selenium 简介/88
6.2 案例:用 Selenium 抓取电商网站数据/90

第 7 章 数据库连接和查询/100
7.1 使用 PyMySQL/100
7.1.1 连接数据库/100
7.1.2 案例:某电商网站女装行业 TOP100 销量数据/102
7.2 使用 SQLAlchemy/104
7.2.1 SQLAlchemy 基本介绍/104
7.2.2 SQLAlchemy 基本语法/105
7.3 MongoDB/107
7.3.1 MongoDB 基本语法/107
7.3.2 案例:在某电商网站搜索“连衣裙”的商品数据/107

第 8 章 NumPy/109
8.1 NumPy 简介/109
8.2 一维数组/110
8.2.1 数组与列表的异同/110
8.2.2 数组的创建/111
8.3 多维数组/111
8.3.1 多维数组的高效性能/112
8.3.2 多维数组的索引与切片/113
8.3.3 多维数组的属性/113
8.4 数组的运算/115

第 9 章 pandas 数据清洗/117
9.1 数据读写、选择、整理和描述/117
9.1.1 从 CSV 中读取数据/119
9.1.2 向 CSV 写入数据/120
9.1.3 数据选择/120
9.1.4 数据整理/122
9.1.5 数据描述/123
9.2 数据分组、分割、合并和变形/124
9.2.1 数据分组/124
9.2.2 数据分割/127
9.2.3 数据合并/128
9.2.4 数据变形/134
9.2.5 案例:旅游数据的分析与变形/136
9.3 缺失值、异常值和重复值处理/140
9.3.1 缺失值处理/140
9.3.2 检测和过滤异常值/144
9.3.3 移除重复数据/147
9.3.4 案例:旅游数据的值检查与处理/149
9.4 时序数据处理/152
9.4.1 日期/时间数据转换/152
9.4.2 时序数据基础操作/153
9.4.3 案例:天气数据分析与处理/155
9.5 数据类型转换/158
9.6 正则表达式/ 160
9.6.1 元字符与限定符/161
9.6.2 案例:用正则表达式提取网页文本信息/162

第 10 章 综合应用实例/164
10.1 按性价比给用户推荐旅游产品/164
10.1.1 数据采集/165
10.1.2 数据清洗、建模/169
10.2 通过热力图分析为用户提供出行建议/172
10.2.1 某旅游网站热门景点爬虫代码(qunaer_sights.py)/175
10.2.2 提取 CSV 文件中经纬度和销量信息/178
10.2.3 创建景点门票销量热力地图 HTML 文件/179

第 11 章 数据可视化/182
11.1 matplotlib/183
11.1.1 画出各省份平均价格、各省份平均成交量柱状图/183
11.1.2 画出各省份平均成交量折线图、柱状图、箱形图和饼图/184
11.1.3 画出价格与成交量的散点图/185
11.2 pyecharts/186
11.2.1 Echarts 简介/186
11.2.2 pyecharts 简介/187
11.2.3 初识 pyecharts,玫瑰相送/187
11.2.4 pyecharts 基本语法/188
11.2.5 基于商业分析的 pyecharts 图表绘制/190
11.2.6 使用 pyecharts 绘制其他图表/199
11.2.7 pyecharts 和 Jupyter/203

读者评论

  • 30页的url中为什么去掉_o???不去掉就显示KeyError:translateResult,这是为什么?

    dhy发表于 2020/9/13 23:03:38
  • P31上装bs4步骤没有成功,请问怎么解决。步骤是先装的python,pycharm,然后装anaconda时没成功就先把python卸了,装成功后又装了python3。最后pycharm导入requests成功,但是bs4一直没成功。

    lingyishan发表于 2020/8/8 12:57:23
    • 你可以在pycharm中配置anaconda环境,这样所有的包就都有了,配置过程你可以去CSDN查一下

      douddd发表于 2021/4/7 9:55:02
  • 天气那一章我自己更新了一下

    import requests
    import time
    import pymongo

    client = pymongo.MongoClient(‘localhost’,27017)

    book_weather = client[‘weather’]

    sheet_weather = book_weather[‘sheet_weather_3’]

    url = ‘https://cdn.heweather.com/china-city-list.txt
    strhtml = requests.get(url)
    strhtml.encoding = ‘utf-8’
    data = strhtml.text
    data = data.replace(‘|’,’’)
    data = data.replace(‘ ‘,’’)
    key = ‘’ # 你的key值

    print(data)

    data1=data.split(“\n”)
    print(len(data1))
    for i in range(6):
    data1.remove(data1[0]) # Hi
    i = 0
    for item in data1:
    url = ‘https://free-api.heweather.net/s6/weather/now?location=‘ + item[0:11] + ‘&key=’+key
    strhtml = requests.get(url)
    time.sleep(1)
    dic = strhtml.json()

    #sheet_weather.insert_one(dic)
    print(dic)
    i=i+1
    
    LJL发表于 2019/9/13 20:57:58
  • 我建了个群,欢迎大家进来一起学习进步,群号676090824

    ivivian发表于 2019/8/13 11:16:49
  • 书P84 from items import StockstarItem, StockstarItemLoader

    提示错误: from items import StockstarItem, StockstarItemLoader
    ImportError: cannot import name ‘StockstarItem’ from ‘items’

    大神们,请问这个问题怎么解决?

    wschenchen发表于 2019/6/12 11:13:47
    • 路径不太对,可以试试from ..items import StockstarItem, StockstarItemLoader

      baobaozi发表于 2019/9/11 18:00:23

相关图书

Python统计可视化之Altair探索分析实践指南

刘大成 (作者)

本书以Altair为核心工具,通过认识数据、理解数据和探索数据全方位地探索分析数据集的统计可视化形式,以应用数据和案例研究为实践场景,使用Altair数据加工箱...

 

实用推荐系统

Kim Falk (作者) 李源 朱罡罡 温睿 (译者)

要构建一个实用的“智能”推荐系统,不仅需要有好的算法,还需要了解接收推荐的用户。本书分为两部分,第一部分侧重于基础架构,主要介绍推荐系统的工作原理,展示如何创建...

¥119.00

Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)

龚正 吴治辉 闫健勇 (作者)

Kubernetes是由谷歌开源的容器集群管理系统,为容器化应用提供了资源调度、部署运行、服务发现、扩缩容等一整套功能。Kubernetes也是将“一切以服务(...

 

Harbor权威指南

张海宁 邹佳 王岩 尹文开 任茂盛 等 (作者)

在云原生生态中,容器镜像和其他云原生制品的管理与分发是至关重要的一环。本书对开源云原生制品仓库Harbor展开全面讲解,由Harbor开源项目维护者和贡献者倾力...

 

集成学习:基础与算法

Zhi-Hua Zhou (作者) 李楠 (译者)

集成学习方法是一类先进的机器学习方法,这类方法训练多个学习器并将它们结合起来解决一个问题,在实践中获得了巨大成功。<br>全书分为三部分。第一部分主要介绍集成学...

¥89.00

Kubernetes源码剖析

郑东旭 (作者)

本书主要分析了Kubernetes核心功能的实现原理,是一本帮助读者了解Kubernetes架构设计及内部原理实现的书。由于Kubernetes代码量较大,源码...