零基础学Python网络爬虫案例实战全流程详解(入门与提高篇)

零基础学Python网络爬虫案例实战 全流程详解 入门与提高篇
零基础学Python网络爬虫案例实战 全流程详解 高级进阶篇

内容简介

在大数据时代的今天,无论是产品开始还是精准化营销越来越离不开大数据的支持,如何从浩瀚的网络中获取自己想要的大数据?这就需要网络爬虫,而是世界上80%的爬虫都是基于Python开发出来的,所以python爬虫技术是大数据挖掘、分析与可视化的基础。
本书面向零基础读者,从如何合法使用爬虫和Python编辑环境的安装开始到不同类型爬虫程序的开发都进行了详尽的讲解,从Python基础语法到Requests库、正则表达式、Scrapy框架、Beautiful Soup一个都不少。同时在相关地方也讲解了部分数据挖掘和数据分析的基础内容。

目录

前言
本书学习资源
第1章 Python基础
1.1 Python快速上手 13
1.1.1 安装Python 13
1.1.2 编写个Python程序 15
1.1.3 PyCharm的安装与使用 16
1.1.4 Jupyter Notebook的使用 27
1.2 Python语法基础知识 34
1.2.1 变量、行、缩进与注释 34
1.2.2 数据类型:数字与字符串 36
1.2.3 数据类型:列表与字典、元组与集合 38
1.2.4 运算符 44
1.3 Python语句 46
1.3.1 if条件语句 46
1.3.2 for循环语句 47
1.3.3 while循环语句 49
1.3.4 try/except异常处理语句 50
1.4 函数与库 50
1.4.1 函数的定义与调用 51
1.4.2 函数的返回值与变量的作用域 52
1.4.3 常用内置函数介绍 54
1.4.4 库的导入与安装 57
★ 课后习题 61
第2章 爬虫步:获取网页源代码
2.1 爬虫核心库1:Requests库 62
2.1.1 如何查看网页源代码 62
2.1.2 用Requests库获取网页源代码:百度新闻 66
2.1.3 Requests库的“软肋” 70
2.2 爬虫核心库2:Selenium库 71
2.2.1 模拟浏览器及Selenium库的安装 71
2.2.2 用Selenium库获取网页源代码: 财经股票信息 74
2.3 网页结构分析 76
2.3.1 网页结构基础 76
2.3.2 网页结构进阶 76
★ 课后习题 82
第3章 爬虫第二步:数据解析与提取
3.1 用正则表达式解析和提取数据 83
3.1.1 正则表达式基础1:findall()函数 83
3.1.2 正则表达式基础2:非贪婪匹配之“(.*?)” 85
3.1.3 正则表达式基础3:非贪婪匹配之“.*?” 88
3.1.4 正则表达式基础4:自动考虑换行的修饰符re.S 90
3.1.5 正则表达式基础5:知识点补充 91
3.1.6 案例实战:提取百度新闻的标题、网址、日期和来源 93
3.2 用BeautifulSoup库解析和提取数据 98
3.2.1 解析特定标签的网页元素 98
3.2.2 解析特定属性的网页元素 100
3.2.3 提取标签中的网址 101
3.2.4 案例实战: 新闻标题和网址爬取 102
3.3 百度新闻爬取进阶探索 107
3.3.1 批量爬取多家公司的新闻 107
3.3.2 将爬取结果保存为文本文件 108
3.3.3 异常处理及24小时不间断爬取 111
3.3.4 批量爬取多页内容 113
3.4 证券日报网爬取实战 116
3.4.1 用正则表达式爬取 116
3.4.2 用BeautifulSoup库爬取 120
3.5 中证网爬取实战 121
3.6  爬取实战 125
3.7 上海证券交易所上市公司PDF文件下载 128
3.7.1 用Requests库下载文件的基本方法 128
3.7.2 初步尝试下载上海证券交易所上市公司PDF文件 130
3.8 豆瓣电影Top 250排行榜海报图片下载 131
3.8.1 爬取单页 131
3.8.2 爬取多页 134
★ 课后习题 136
第4章 爬虫神器Selenium库深度讲解
4.1 Selenium库进阶知识 137
4.2  财经股票行情数据爬取 142
4.2.1 用Selenium库爬取股票行情数据 142
4.2.2 用 财经API爬取股票行情数据 144
4.3 东方财富网数据爬取 149
4.3.1 上市公司股吧帖子爬取 149
4.3.2 上市公司新闻爬取 150
4.3.3 上市公司研报PDF文件下载 154
4.4 上海证券交易所问询函信息爬取及PDF文件下载 160
4.4.1 批量下载单个页面上的PDF文件 161
4.4.2 批量下载多个页面上的PDF文件 163
4.4.3 汇总问询函信息并导出为Excel工作簿 166
4.5 银行间拆借利率爬取 167
4.6 雪球股票 信息爬取 173
4.7 商品评价信息爬取 175
4.7.1 用Selenium库爬取 175
4.7.2 用Requests库爬取 179
4.8 淘宝天猫商品销量数据爬取 183
4.9 Selenium库趣味案例:网页自动投票 186
★ 课后习题 188
第5章 数据处理与可视化
5.1 数据清洗与优化技巧 189
5.1.1 常用的数据清洗手段及日期格式的统一 189
5.1.2 文本内容过滤—剔除噪声数据 190
5.1.3 数据乱码问题处理 195
5.1.4 数据爬后处理之舆情评分 198
5.2 数据可视化分析—词云图绘制 200
5.2.1 用jieba库实现中文分词 200
5.2.2 用wordcloud库绘制词云图 204
5.2.3 案例实战: 词云图绘制 208
★ 课后习题 211
第6章 数据结构化与数据存储
6.1 数据结构化神器—pandas库 212
6.1.1 用read_html()函数快速爬取网页表格数据 212
6.1.2 pandas库在爬虫领域的核心代码知识 214
6.2  财经—资产负债表获取 225
6.3 百度新闻—文本数据结构化 229
6.3.1 将单家公司的新闻导出为Excel工作簿 229
6.3.2 将多家公司的新闻导出为Excel工作簿 230
6.4 百度爱企查—股权穿透研究 231
6.4.1 单层股权结构爬取 232
6.4.2 多层股权结构爬取 235
6.5 天天基金网—股票型基金信息爬取 237
6.5.1 爬取基金信息表格 238
6.5.2 爬取基金的详情页面网址 239
6.6 集思录—可转债信息
6.6集思录——可转债信息爬取
6.7东方财富网——券商研报信息爬取
6.7.1爬取券商研报信息表格
6.7.2爬取研报的详情页面网址
6.8数据存储——MySQL快速入门
6.8.1MySQL的安装
6.8.2MySQL的基本操作
6.9用Python操控数据库
6.9.1用PyMySQL库操控数据库
6.9.2案例实战:百度新闻数据爬取与存储
6.9.3用pandas库操控数据库
课后习题
第7章Python多线程和多进程爬虫
7.1理解线程与进程
7.1.1计算机硬件结构基础知识
7.1.2线程与进程
7.1.3单线程、多线程与多进程
7.1.4爬虫任务中的多线程与多进程
7.2Python多线程爬虫编程实战
7.2.1Python多线程编程基础知识
7.2.2Python多线程编程进阶知识
7.2.3案例实战:多线程爬取百度新闻
7.3Python多进程爬虫编程实战
7.3.1Python多进程编程基础知识
7.3.2Python多进程编程进阶知识
7.3.3案例实战:多进程爬取百度新闻
课后习题
第8章IP代理使用技巧与实战
8.1结合Requests库使用IP代理
8.1.1IP代理基础知识
8.1.2IP代理的使用
8.2IP代理实战1:用Requests库爬取公众号文章
8.2.1直接用Requests库爬取
8.2.2添加IP代理进行爬取
8.2.3添加智能IP切换系统
8.3结合Selenium库使用IP代理
8.4IP代理实战2:用Selenium库爬取公众号文章
8.4.1直接用Selenium库爬取
8.4.2添加IP代理进行爬取
8.4.3添加智能IP切换系统
课后习题
后记

前言

笔者编写的《Python金融大数据挖掘与分析全流程详解》于2019年出版面市后,陆续有不少读者表示对该书的爬虫部分非常感兴趣,想做进一步的学习。笔者由此萌生了一个想法:专门针对Python爬虫技术编写一套书籍,在保留之前核心内容的基础上,新增更多实战案例,方便读者在练中学,并体会Python爬虫在实战中的应用。
书稿编写完成后,为了更好地满足不同水平读者的需求,方便他们根据自身情况更灵活地学习,笔者决定将书稿分为两册出版:册为《零基础学Python网络爬虫案例实战全流程详解(入门与提高篇)》,主要针对编程零基础的读者;第二册为《零基础学Python网络爬虫案例实战全流程详解(高级进阶篇)》,主要针对有一定Python爬虫编程基础并且需要进阶提高的读者。
本书为《零基础学Python网络爬虫案例实战全流程详解(入门与提高篇)》,分8章讲解了Python爬虫的基础知识和技能,帮助零基础的读者快速入门并熟练使用爬虫。

第1章从Python开发环境的安装与配置讲起,循序渐进地过渡到Python的基础语法知识,包括变量、数据类型、语句、函数与库等,让新手读者能够自己输入简单的代码并使其运行起来。任何爬虫任务的起点都是获取网页源代码。

第2章讲解了Python爬虫中用于获取网页源代码的两个核心库—Requests库和Selenium库,并简单介绍了网页结构和HTML标签的知识,为第3章学习数据的解析与提取做好铺垫。获取网页源代码后,接着需要从中解析与提取数据。

第3章讲解了Python爬虫中解析与提取数据的两种核心方法—正则表达式和BeautifulSoup库,并通过丰富的案例进行实战演练,包括百度新闻、证券日报网、中证网、 的数据爬取,以及上海证券交易所PDF文件和豆瓣电影海报图片的下载等。
讲解完Python爬虫的基础知识和基本技能,第4章进一步深入讲解爬虫神器Selenium库,并通过案例讲解了商业实战中常用的大量进阶爬虫技术,案例包括 财经股票行情数据爬取、东方财富网(股吧、新闻、研报)相关数据爬取、上海证券交易所问询函信息爬取及PDF文件下载、银行间拆借利率爬取、雪球股票 信息爬取、商品评价信息爬取、淘宝天猫商品销量数据爬取、网页自动投票等。

第5章讲解爬虫数据的处理与可视化,包括数据清洗、文本内容过滤、乱码问题处理、舆情评分、中文分词、词云图绘制等,让读者可以对获取的数据进行深入的整理与挖掘。

第6章讲解爬虫数据结构化与数据存储。首先介绍了爬虫数据结构化神器pandas库,并通过多个案例进行实战演练,包括 财经资产负债表获取、百度新闻文本数据结构化、百度爱企查股权穿透研究、天天基金网股票型基金信息爬取、集思录可转债信息爬取、东方财富网券商研报信息爬取等。然后介绍了用于存储和管理数据的MySQL数据库,以及如何通过Python在MySQL数据库中读写数据。

第7章讲解如何运用多线程和多进程技术提高爬虫效率,重点分析了线程和进程的概念、多线程和多进程的逻辑,并通过百度新闻的多线程和多进程爬取进行实战演练。
在爬虫任务中 让人烦恼的就是遇到网站的反爬机制,因此,第8章讲解了应对反爬机制的常用手段—IP代理的原理和使用方法,并以爬取 公众号文章为例对IP代理进行了实战演练。

本书对于编程零基础的读者来说非常友好,从Python基础到爬虫原理再到实战应用,循序渐进地帮助读者打好基础。对于有一定Python爬虫基础的读者,本书也针对实战中常见的疑点和难点提供了解决技巧。

读者如果想进一步学习反爬机制应对、手机App内容爬取、爬虫框架、爬虫云服务器部署等技术,可以阅读《零基础学Python网络爬虫案例实战全流程详解(高级进阶篇)》。
由于笔者水平有限,书中难免有不足之处,恳请广大读者批评指正。读者除了可扫描封底上的二维码关注公众号获取资讯以外,也可通过“本书学习资源”中列出的方法与我们交流。

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

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

相关文章

用 Socket.D 替代原生 WebSocket 做前端开发

socket.d.js 是基于 websocket 包装的 socket.d 协议的实现。就是用 ws 传输数据,但功能更强大。 功能原生 websocketsocket.d说明listen有有监听消息send有有发消息sendAndRequest无有发消息并接收一个响应(类似于 http)sendAndSubscribe无…

PyTorch 简单易懂的实现 CosineSimilarity 和 PairwiseDistance - 距离度量的操作

目录 torch.nn子模块Distance Functions解析 nn.CosineSimilarity 功能 主要参数 输入和输出的形状 使用示例 nn.PairwiseDistance 功能 主要参数 输入和输出的形状 使用示例 总结 torch.nn子模块​​​​​​​Distance Functions解析 nn.CosineSimilarity torc…

【图神经网络导论】之第9章模型变体(刘知远)

第9章不同图类型的模型变体 文章目录 第9章不同图类型的模型变体9.1 有向图9.2 异构图9.3 带有边信息的图9.4 动态图9.5 多维图 第4章介绍的基础GNN模型"被用于处理无向图,这些图包含具有标签的节点,是最简单的图。然而,在现实世界中还有…

Linux基础知识点(八-POSXI互斥锁)

目录 一、互斥锁基本概念 1.1 互斥相关背景概念 1.2 互斥锁(mutex) 1.3 死锁 二、初始化互斥锁 2.1 静态初始化 2.2 动态初始化 三、获取与释放互斥锁 四、销毁互斥锁 一、互斥锁基本概念 1.1 互斥相关背景概念 临界资源:多线程执行流共享的资源就叫做…

【事务】事务传播级别

Spring事务定义了7种传播机制: PROPAGATION_REQUIRED:默认的Spring事物传播级别,若当前存在事务,则加入该事务,若不存在事务,则新建一个事务。 PAOPAGATION_REQUIRE_NEW:若当前没有事务&#x…

PyTorch 简单易懂的 Embedding 和 EmbeddingBag - 解析与实践

目录 torch.nn子模块Sparse Layers详解 nn.Embedding 用途 主要参数 注意事项 使用示例 从预训练权重创建嵌入 nn.EmbeddingBag 功能和用途 主要参数 使用示例 从预训练权重创建 总结 torch.nn子模块Sparse Layers详解 nn.Embedding torch.nn.Embedding 是 PyTo…

06.函数和模块的使用

函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。 可以用Python的程序来…

基于ssm的大湾区旅游推荐系统的设计与实现+vue论文

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统大湾区旅游景点信息管理难度大,容错率低&…

美创科技葛宏彬:夯实安全基础,对医疗数据风险“逐个击破”

导读 解决医疗机构“临床业务数据合规流动”与“重要数据安全防护”两大难题。 2023年11月11日,在2023年南湖HIT论坛上,HIT专家网联合杭州美创科技股份有限公司(以下简称美创科技)发布《医疗数据安全风险分析及防范实践》白皮书…

完成python+neo4j+django踩坑记录

使用Django进行后端控制,Echarts进行前端显示 例子django安装1、django启动2、django初体验3、django踩坑【已解决】You have 18 unapplied migration(s). Your project may not work properly until you apply the migra【已解决】运行neo4j出现报错 Failed to sta…

回车事件怎样绑定?

首先要记住一点,回车事件只能在js代码中绑定,在HTML中绑定是获取不到的,下面是我自己写的一个示例,大家可以参考一下。 importt.onkeydown function(event) {let val document.getElementById(importt).value;let e event || …

目标检测COCO数据集与评价体系mAP

1.mAP 2.IoU IoU也就是交并比,也称为 Jaccard 指数,用于计算真实边界框与预测边界框之间的重叠程度。它是真值框与预测边界框的交集和并集之间的比值。Ground Truth边界框是测试集中手工标记的边界框,用于指定目标图像的位置以及预测的边界框…

浅讲人工智能,初识人工智能几个重要领域。

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

设置5台SSH互免的虚拟机服务器配置

搭建一套集群虚拟机,往往都需要互免设置,过程很简单,避免以后再搭建还得网上搜索,我直接将这一个步骤写成笔记,记录下来,方便后续查阅。 步骤如下—— 1、准备五台机器 服务器名字服务器IPhadoop1192.16…

昇腾多卡通信教程【配置网络检测对象IP】

无法通信会出现的错误如下 一、网络健康状态报错 命令原型 hccn_tool [-i %d] -netdetect -s [address %s]命令功能 本功能支持用户执行命令获取网络健康状态(本端与所配置的检测IP之间的连通状态),用户可指定上报的状态信息名称。 状态信…

Javaweb之Mybatis的XML配置文件的详细解析

2. Mybatis的XML配置文件 Mybatis的开发有两种方式: 注解 XML 2.1 XML配置文件规范 使用Mybatis的注解方式,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在…

kotlin的抽象类和抽象方法

在 Kotlin 中,抽象类和抽象方法是面向对象编程中的概念,用于实现抽象和多态性。以下是有关 Kotlin 抽象类和抽象方法的详细信息: 抽象类: 定义: 抽象类是用 abstract 关键字声明的类,不能直接实例化。它可…

从零开始构建区块链:我的区块链开发之旅

1.引言 1.区块链技术的兴起和重要性 区块链技术,作为数字化时代的一项颠覆性创新,已经成为当今世界最令人瞩目的技术之一。自比特币的问世以来,区块链技术已经从仅仅支持加密货币发展成为一种具有广泛应用前景的分布式账本技术。其核心优势…

顺序表的实现(C语言)

本文章主要对顺序表的介绍以及数据结构的定义,以及几道相关例题,帮助大家更好理解顺序表. 文章目录 前言 一、顺序表的静态实现 二、顺序表的动态实现 三.定义打印顺序表函数 四.定义动态增加顺序表长度函数 五.创建顺序表并初始化 六.顺序表的按位查找 七.顺序表的按值…

如何下载 GOES(Geostationary Operational Environmental Satellite)卫星数据

GOES是指地球静止轨道卫星(Geostationary Operational Environmental Satellite)系统,它是美国国家海洋和大气管理局(NOAA)和美国国家航空航天局(NASA)合作开发和运营的一系列气象卫星。这些卫星…