【好书推荐3】Python网络爬虫入门到实战

news2024/9/22 13:27:02

【好书推荐3】Python网络爬虫入门到实战

  • 写在最前面
  • 内容简介
  • 作者简介
  • 目录
  • 前言/序言


请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

前些天发现了一个人工智能学习网站,内容深入浅出、易于理解。如果对人工智能感兴趣,不妨点击查看。

写在最前面

🌟 感谢大家的陪伴和支持,2024年争取每周二开展粉丝福利送书活动,欢迎关注 ~
第3波福利感谢 机械工业出版社 的大力支持
🚀 本期活动为大家带来的是 顶流大V“川川菜鸟”“不吃西红柿”作品《Python网络爬虫入门到实战》
京东购买链接 https://item.jd.com/14049708.html
🌈 评论区抽出两位小伙伴免费包邮送出:此文章下任意评论,即可参与抽取书籍活动!
抽奖结果将在上一期活动评论区、新一期送书活动最前方展示。

🎉恭喜上期活动中奖粉丝:shandianchengzi、犬余,看到后请私信联系 ~

内容简介

本书介绍了Python3网络爬虫的常见技术。首先介绍了网页的基础知识,然后介绍了urllib、Requests请求库以及XPath、Beautiful Soup等解析库,接着介绍了selenium对动态网站的爬取和Scrapy爬虫框架,最后介绍了Linux基础,便于读者自主部署编写好的爬虫脚本。本书所有代码和相关素材可以到GitHub下载获取,地址为https://github.com/sfvsfv/Crawer。
本书主要面向对网络爬虫感兴趣的初学者。

在这里插入图片描述

作者简介

杨涵文
网名“川川”,现致力于全栈开发领域,在大数据分析与挖掘、机器学习、人工智能、网站开发等领域实战经验丰富。CSDN内容合伙人、阿里云博客专家,全网20万粉丝博主,热衷于技术研究,乐于分享。
周培源
网名“不吃西红柿”,现任Apple高级工程师。全网30万粉丝的知名技术博主、CSDN内容合伙人、华为HDZ成员、阿里云博客专家。
陈姗姗
上海工程技术大学讲师,理学博士,西澳大学联培博士,硕士生导师。发表学术论文20余篇,其中SCI检索10余篇,国际权威SCI期刊、IEEE等期刊审稿人。参与多项国家自然科学基金重点项目等。

目录

前言
第1章 HTML与CSS基础/
1.1概述引导/
1.2Hbuilder软件下载与使用/
1.3HTML基础/
1.3.1基本架构/
1.3.2标题和段落标签/
1.3.3文字标签/
1.3.4图像标签/
1.3.5超链接标签/
1.3.6块标签/
1.3.7列表标签/
1.3.8音频视频标签/
1.3.9表格标签/
1.3.10表单标签/
1.3.11框架标签/
1.4免费网页部署/
1.5为什么要使用CSS框架/
1.6选择器/
1.6.1标签选择器/
1.6.2类选择器/
1.6.3ID选择器/
1.6.4全局选择器/
1.6.5属性选择器/
1.6.6包含选择器/
1.6.7选择器的综合使用/
1.7CSS和HTML的结合方式/
1.7.1行内样式/
1.7.2内嵌样式/
1.7.3链接样式/
1.7.4导入样式/
1.7.5优先级/
1.8CSS的常见属性/
1.8.1字体属性/
1.8.2文本属性/
1.8.3尺寸属性/
1.8.4背景属性/
1.8.5制作照片墙/
1.9作业习题/
1.9.1HTML作业习题/
1.9.2CSS作业习题/Python网络爬虫入门到实战
第2章 urllib、Requests基础与实战/
2.1urllib的使用/
2.1.1urlopen网址请求/
2.1.2网页的保存和异常处理/
2.1.3构造请求对象Requests/
2.1.4添加请求头/
2.1.5SSL认证/
2.2万能视频下载/
2.3Requests中get的使用/
2.3.1Requests基础:代码获取/
2.3.2Requests基础:构建请求/
2.3.3获取cookie/
2.3.4添加请求头/
2.3.5二进制数据获取/
2.4Requests中post的使用/
2.4.1提交数据表单/
2.4.2添加请求头/
2.4.3提交json/
2.4.4普通文件上传/
2.5Requests进阶/
2.5.1URLError和HTTPError/
2.5.2Fiddler的下载与简单使用/
2.5.3登录网站/
2.5.4代理设置/
2.6实战演练/
2.6.1获取某搜索的代码/
2.6.2下载图片到本地/
2.6.3下载视频到本地/
2.6.4爬取翻译网站/目录
第3章 正则表达式基础与实战/
3.1正则表达式的定义/
3.2Python中的正则表达式/
3.3正则表达式函数/
3.3.1findall()函数/
3.3.2search()函数/
3.3.3split()函数/
3.3.4sub()函数/
3.3.5compile函数/
3.4特殊字符的使用/
3.4.1列表符/
3.4.2点符号/
3.4.3开始符和结束符/
3.4.4星号/
3.4.5加号/
3.4.6集合符号/
3.4.7或符号/
3.5特殊序列/
3.5.1匹配指定字符/
3.5.2匹配开头、结尾和中间/
3.5.3匹配数字与非数字/
3.5.4空格与非空格匹配/
3.5.5数字与字母的匹配/
3.5.6贪婪模式与非贪婪模式/
3.6集合练习/
3.6.1指定的符号匹配/
3.6.2匹配任意范围内的小写字母/
3.7匹配对象/
3.8正则实战:段子爬取/
3.9作业习题/4章 XPath基础与实战/
4.1开始使用XPath/
4.1.1常见的HTML操作/
4.1.2常见的XML操作/
4.1.3浏览器使用XPath调试/
4.1.4谷歌插件的安装与XPath Helper的使用/
4.1.5浏览器复制XPath/
4.2属性的匹配/
4.2.1根据具体属性匹配/
4.2.2通过属性值的字段匹配/
4.2.3属性值获取/
4.3XPath处理HTML常用方法/
4.4实战学习:房产网站爬取/
4.5多线程爬虫/
4.5.1进程和线程/
4.5.2Python中的多线程与单线程/
4.5.3单线程修改为多线程/
4.6作业习题/5章 Beautiful Soup基础与实战/
5.1什么是Beautiful Soup/
5.2解析器/
5.3解析库的基本使用/
5.3.1代码的排版/
5.3.2网页文档处理/
5.3.3获取节点中的文本/
5.3.4根据属性匹配/
5.4find_all方法搜索节点/
5.4.1基本使用/
5.4.2通过标签搜索/
5.4.3非参数搜索/
5.4.4CSS搜索/
5.4.5通过文本搜索/
5.4.6返回数量限制/
5.5find方法搜索节点/
5.6CSS选择器/
5.6.1通过标签名查找/
5.6.2通过标签的类名查找/
5.6.3通过标签的id查找/
5.6.4通过属性查找/
5.7实战一:爬取诗词网站/
5.8实战二:爬取求职网站/6章 selenium自动化测试与实战/
6.1环境搭建/
6.2单个元素定位/
6.2.1id定位/
6.2.2name定位/
6.2.3class_name定位/
6.2.4link_text定位/
6.2.5tag_name定位/
6.2.6XPath定位/
6.2.7通过CSS定位/
6.2.8使用By类定位/
6.2.9总结/
6.3元素等待/
6.3.1强制等待/
6.3.2显示等待/
6.3.3隐式等待/
6.4浏览器控制/
6.4.1控制浏览器大小/
6.4.2控制浏览器前进后退与刷新/
6.4.3文本输入输出与表单提交/
6.5鼠标控制/
6.5.1鼠标事件右键/
6.5.2鼠标双击/
6.6键盘控制/
6.7多个元素定位/
6.8文件上传/
6.9获取cookie/
6.9.1手动获取cookie/
6.9.2扫码自动获取cookie/
6.10窗口截图/
6.11策略补充/
6.11.1去除Chrome正受到自动测试软件的控制/
6.11.2添加代理IP和请求头/
6.11.3无头模式/
6.11.4其他一些选项的添加/
6.12字符验证码/
6.12.1pytesseract介绍/
6.12.2安装/
6.12.3中文支持/
6.12.4英文识别/
6.12.5简单的数字识别/
6.12.6中文识别/
6.12.7ddddocr模块的使用/
6.12.8彩色图片识别应用/
6.13自动发送QQ邮箱/
6.13.1获取授权码/
6.13.2发送文本和附件/7章 Scrapy框架与实战/
7.1框架介绍/
7.2Scrapy入门/
7.2.1创建项目文件/
7.2.2确定目标/
7.2.3定制Item/
7.2.4setting配置修改与使用/
7.2.5数据提取/
7.2.6实战教学/
7.2.7数据存储/
7.2.8Item Pipeline管道/
7.2.9Pipelines图片保存/
7.3实战一:图片多页下载/
7.4实战二:视频分析/
7.4.1基本搭建/
7.4.2数据提取/
7.4.3Pipelines保存数据/
7.5实战三:文字爬取/
7.5.1基本搭建/
7.5.2数据提取/
7.5.3Pipelines保存数据/
7.6Pipelines的多文件执行/
7.7日志记录/
7.7.1logging的语法/
7.7.2简单使用/
7.8使用选择器/
7.8.1Scrapy shell基本使用/
7.8.2使用XPath选择器/
7.8.3CSS选择器的语法/
7.8.4使用CSS选择器/
7.8.5嵌套选择器/
7.8.6正则选择器/
7.8.7使用相对XPaths/
7.9CrawlSpider的使用/
7.9.1爬取规则/
7.9.2setting配置修改/
7.9.3应用案例一:某宠物网站爬取/
7.9.4应用案例二:某读书网站爬取/
7.10内置图片下载器/
7.10.1基本搭建/
7.10.2数据提取/
7.10.3同步下载/
7.10.4异步下载/
7.11存储到数据库/
7.11.1同步存储/
7.11.2异步存储/8章 Linux基础/
8.1为什么学习Linux?/
8.2安装虚拟机/
8.2.1本地安装虚拟机(推荐)/
8.2.2免费在线Linux服务器/
8.3文件管理/
8.3.1查看目录/
8.3.2创建文件夹/
8.3.3切换目录/
8.3.4创建文件/
8.3.5删除文件和文件夹/
8.3.6复制文件/
8.3.7移动文件/
8.3.8编写文件内容/
8.3.9查看文件内容/
8.3.10搜索文件内容/
8.3.11查看文件权限/
8.3.12更改权限/
8.4进程管理/
8.5定时任务/

前言/序言

本书内容
本书通过简单易懂的案例,讲解Python语言的爬虫技术。全书共分为8章,第1章为网页的内容,第2~7章为爬虫的内容,第8章为Linux基础。
第1章:介绍了HTML和CSS的基础知识,虽然本章并不是直接与爬虫相关,但它是学习爬虫技术的基础。对于已经掌握基本网页基础的读者,可以选择跳过该章。
第2章:正式进入爬虫技术的学习阶段,这一章介绍了最基本的两个请求库(urllib和Requests),有知识点的讲解,也有实战案例的讲解。
第3章:本章对正则表达式做了详细的描述,同时有案例的实践。学完本章就可以掌握最基本的爬虫技术了。
第4章:主要介绍XPath解析库,配有实际的案例进行讲解,以帮助读者加深理解和巩固。
第5章:主要介绍另一个解析库Beautiful Soup,它在提取数据中也很方便,对相关知识点以及实际的案例都有所讲解。XPath和Beautiful Soup可以使信息的提取更加方便、快捷,是爬虫必备利器。
第6章:主要介绍selenium自动化测试。现在越来越多的网站内容是经过 JavaScript 渲染得到的,而原始 HTML 文本可能不包含任何有效内容,使用模块selenium实现模拟浏览器进行数据爬取是非常好的选择。
第7章:在大规模数据的爬取中,不太用得上基础模块,Scrapy 是目前使用最广泛的爬虫框架之一,本章介绍了Scrapy爬虫框架的详细搭建和实践。针对数据存储过程部分使用的MySql数据库,整章有多个实际的案例,以帮助读者加深理解和巩固。
第8章:主要介绍了Linux的基础知识点,以帮助读者能够在服务器部署脚本。
相关资源
本书所有代码和相关素材可以到GitHub下载获取,地址为https://github.com/sfvsfv/Crawer。关于代码的实用性需要声明:所有代码都是笔者在写书阶段编写的,如果有部分爬虫脚本失效,有可能是网站的结构发生了变化。希望读者在阅读本书的过程中,以学习笔者所介绍的方法为主。
Python网络爬虫入门到实战致谢
本书的撰写与出版得益于同行众多同类教程的启发,以及陈姗姗老师和同伴周培源的帮助,在此深表感谢。同时也感谢一路走来支持笔者的读者。由于本人水平有限,书中难免有不妥之处,诚挚期盼专家和广大读者批评指正。

在这里插入图片描述

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

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

相关文章

中御海参已确定参加2024第七届燕窝天然滋补品博览会

参展企业介绍 烟台中御海参有限公司成立于2018年09月19日,公司坐落在山东省,详细地址为:山东省烟台市蓬莱区大辛店镇三甲村36号;经国家企业信用信息公示系统查询得知,烟台中御海参有限公司企业的经营范围为:食品生产&a…

抖音小店赚钱吗?入驻抖店需要多少钱?一篇告诉你值不值得去做!

哈喽~我是电商月月 抖音是现在流量最大的软件,抖音赚钱的方式有很多,和直播,拍视频等形式来比,抖音小店绝对是最值得被新手小白关注的项目! 商家和达人博主是互利共赢的关系 商家想靠达人卖货拿利润,主播…

3.Python数据分析—数据分析入门知识图谱索引(知识体系中篇)

3.Python数据分析—数据分析入门知识图谱&索引-知识体系中篇 一个人简介二数据获取和处理2.1 数据来源:2.2 数据清洗:2.2.1 缺失值处理:2.2.2 异常值处理: 2.3 数据转换:2.3.1 数据类型转换:2.3.2 数据…

解决“ModuleNotFoundError: No module named ‘transformers’”错误的全面指南

一、问题背景与原因 在Python编程中,ModuleNotFoundError是一个常见的错误,表明解释器无法在指定的路径或Python环境中找到所需的模块。特别是当我们尝试导入像transformers这样的第三方库时,如果库没有被正确安装,就会遇到这样的…

【机器学习】无监督学习算法之:K均值聚类

K均值聚类 1、引言2、K均值聚类2.1 定义2.2 原理2.3 实现方式2.4 算法公式2.4.1 距离计算公式2.4.1 中心点计算公式 2.5 代码示例 3、总结 1、引言 小屌丝:鱼哥, K均值聚类 我不懂,能不能给我讲一讲? 小鱼:行&#xf…

python关于字符串基础学习

字符串 python字符串是不可改变的 Python不支持单字符类型,单字符也是作为一个字符串使用的。 字符串编码 python3直接支持Unicode,可以表示世界上任何书面语言的字符 python3的字符默认就是16位Unicode编码,ASCII是Unicode的子集 使用内置函数 ord()…

艺术统计图表绘制方法(六叶形图)

艺术统计图表绘制方法(六叶形图) 在网络科技发展进步的当下,原来一些传统的统计图表都有了进一步的创新。以前企业的PPT都依赖微软的各应用软件来制作图表,现时企业的PPT展示的图表应用不再满足于Excle,Word等的图表绘…

人工智能聊天机器人与大型语言模型 (LLM):哪个适合您的业务?

简介:欢迎来到未来 您可能听说过人工智能聊天机器人和大型语言模型 (LLM),对吧? 这些技术奇迹正在重塑企业的沟通和运营方式。 但是,这是一个价值百万美元的问题:哪一个适合您的业务? 让我们深入了解一下&…

shopee全托管服务是什么?Shopee全托管服务有什么特点及优势

2023年各大电商平台都大力推广自家的全托管业务,Shopee也在2023年7月份正式发布全托管业务,2024年,Shopee重点发力全托管业务,对入驻卖家将投入更大的扶持资源。但还有很多小伙伴并不了解什么是shopee全托管服务,所以今…

【数据结构与算法】java有向带权图最短路径算法-Dijkstra算法(通俗易懂)

目录 一、什么是Dijkstra算法二、算法基本步骤三、java代码四、拓展(无向图的Dijkstra算法) 一、什么是Dijkstra算法 Dijkstra算法的核心思想是通过逐步逼近的方式,找出从起点到图中其他所有节点的最短路径。算法的基本步骤如下:…

Simple negative sampling for link prediction inknowledge graphs

摘要 知识图嵌入方法学习知识图中实体和关系的低维向量表示,便于知识图中的链接预测任务。在学习嵌入过程中,采样负三元组是很重要的,因为KGs只观察到正三元组。据我们所知,均匀随机、基于生成对抗网络(GAN)和nscach、结构感知负…

PTA由斜杠划分区域

在由 1 x 1 方格组成的 N x N 网格 grid 中&#xff0c;每个 1 x 1 方块由 /、\ 或空格构成。这些字符会将方块划分为一些共边的区域。 返回区域的数目。 输入格式: 第一行输入一个正整数N&#xff08;N<30&#xff09; 随后N行&#xff0c;每行输入一个长度为N的字符串…

基于单片机的太阳能充电系统设计

摘要:本文所设计的太阳能充电系统主要由以下几个模块组成:STC89C52 主控模块、TP4056 充电电路、电压AD 采集模块、LCD1602 液晶显示模块和太阳能充电电池等组成。此太阳能充电器制作简单,性价比高,性能稳定。 关键词:LCD1602;太阳能充电系统;ADC0832 太阳能充电系统的充…

DARTS-: ROBUSTLY STEPPING OUT OF PERFORMANCE COLLAPSE WITHOUT INDICATORS

DARTS-&#xff1a;增加辅助跳跃连接&#xff0c;鲁棒走出搜索性能崩溃 论文链接&#xff1a;https://arxiv.org/abs/2009.01027 项目链接&#xff1a;GitHub - Meituan-AutoML/DARTS-: Code for “DARTS-: Robustly Stepping out of Performance Collapse Without Indicators…

分页多线程处理大批量数据

1.业务场景 因为需要从一个返利明细表中获取大量的数据&#xff0c;生成返利报告&#xff0c;耗时相对较久&#xff0c;作为后台任务执行。但是后台任务如果不用多线程处理&#xff0c;也会要很长时间才能处理完。 另外考虑到数据量大&#xff0c;不能一次查询所有数据在内存…

华为数通方向HCIP-DataCom H12-821题库(多选题:201-220)

第201题 以下关于BGP中Orginator ID属性的描述,正确的是哪些项? A、Originator ID属于公认任意属性 B、当其他BGP Speaker接收到这条路由的时候,将比较收到的0nginator ID和本地的Router ID,如果两个ID相同BGP Speaker会忽略掉这条路由,不做处理 C、当一条路由第一次被RR…

【目标检测】NMS算法的理论讲解

将NMS就必须先讲IOU&#xff0c; IOU就是交并比&#xff0c;两个检测框的交集除以两个检测框的并集就是IOU 为什么要做NMS操作&#xff0c;因为要去除同一个物体的多的冗余检测框 那么NMS算法是如何做的呢&#xff1f; 以上是算法的流程图 下面讲解算法的流程 首先输入是预…

爬虫Day3

用到的网页--豆瓣电影Top250 需要爬取信息&#xff1a; 数据保存在网页源代码中&#xff0c;是服务加载方式。先拿到网页源代码--request。再通过re提取想要的信息---re。 新知识&#xff1a;用csv存数据&#xff0c;可以用excel表格展示数据 import csv result obj.findite…

串口通信标准RS232 RS485 RS422的区别

RS-232、RS-422、RS-485是关于串口通讯的一个机械和电气接口标准&#xff08;顶多是网络协议中的物理层&#xff09;&#xff0c;不是通讯协议&#xff0c;它们之间的几个不同点如下&#xff1a; 一、硬件管脚接口定义不同 二、工作方式不同 RS232&#xff1a; 3线全双工 RS…

element UI季度选择器的实现

效果展示 用elementUI的select实现季度选择器 代码实现 generateQuarterOption放在methods中&#xff0c;需要近几年的只需要修改第一个循环的次数即可&#xff0c;mounted生命周期函数中调用generateQuarterOption() generateQuarterOption() {//近3年所有季度let now ne…