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

【好书推荐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网络爬虫入门到实战致谢
本书的撰写与出版得益于同行众多同类教程的启发,以及陈姗姗老师和同伴周培源的帮助,在此深表感谢。同时也感谢一路走来支持笔者的读者。由于本人水平有限,书中难免有不妥之处,诚挚期盼专家和广大读者批评指正。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于《海岛奇兵》中n点能量可造成最大伤害的计算

最近在玩海岛奇兵, 里面有 武器A, 第n次使用消耗(10 6 * (n - 1))点能量并造成18315伤害; 武器B, 第n次使用消耗 (3 2 * (n - 1))点能量并造成8124伤害, 就想着能不能写一个程序计算一下, 当有x点能量时, 可造成的最大伤害是多少? 分别使用AB武器各多少次? 讨论: https://…

《仙剑7》登陆Xbox主机平台年末大作空窗期

首发一年后,《仙剑奇侠传7》终于登陆Xbox主机平台,而这也恰逢Xbox平台年末大作的窗口期。 随着年底大作的稀缺,以及海外3A RPG《星空》的延期,2022年底的这段时间给Xbox玩家体验《刀剑7》留下了一段空白。 可以说是因祸得福。 《仙…

微服务的可观测性

微服务是是一个大型的分布式系统,服务之间相互依赖支撑系统功能。同时对微服务系统的监控也是微服务体系的重要组成分。对微服务系统的监控主要分为三大部分,Trace追踪,Metrics指标,Log日志。 这三大部分几乎记录了微服务的前部信…

Stable Diffusion之核心基础知识和网络结构解析

Stable Diffusion核心基础知识和网络结构解析 一. Stable Diffusion核心基础知识1.1 Stable Diffusion模型工作流程1. 文生图(txt2img)2. 图生图3. 图像优化模块 1.2 Stable Diffusion模型核心基础原理1. 扩散模型的基本原理2. 前向扩散过程详解3. 反向扩散过程详解4. 引入Late…

【linux】进程地址空间(进程三)

目录 快速了解:引入最基本的理解:细节:如何理解地址空间:a.什么是划分区域:b.地址空间的理解: 为什么要有进程空间?进一步理解页表与写时拷贝: 快速了解: 先来看这样一段…

算法系列--两个数组的dp问题(1)

💕"低头要有勇气,抬头要有底气。"💕 作者:Mylvzi 文章主要内容:算法系列–两个数组的dp问题(1) 大家好,今天为大家带来的是算法系列--两个数组的dp问题(1),两个数组的dp问题在动态规划问题中属于较难的部分…

c++之旅第八弹——多态

大家好啊,这里是c之旅第八弹,跟随我的步伐来开始这一篇的学习吧! 如果有知识性错误,欢迎各位指正!!一起加油!! 创作不易,希望大家多多支持哦! 一&#xff0…

AI研报:从Sora看多模态大模型发展

《从Sora看多模态大模型发展》的研报来自浙商证券,写于2024年2月。 这篇报告主要探讨了多模态大模型的发展趋势,特别是OpenAI发布的视频生成模型Sora,以及其对行业发展的影响。以下是报告的核心内容概述: Sora模型的发布&#x…

【C++航海王:追寻罗杰的编程之路】queue

目录 1 -> queue的介绍和使用 1.1 -> queue的介绍 1.2 -> queue的使用 1.3 -> queue的模拟实现 1 -> queue的介绍和使用 1.1 -> queue的介绍 queue的文档介绍 1. 队列是一种容器适配器,专门用于在FIFO(先进先出)上下文中操作,其…

C语言例4-4:putchar()函数的调用格式和使用的例子

代码如下&#xff1a; //putchar()函数的调用格式和使用的例子 #include<stdio.h> //编译预处理命令&#xff0c;即文件包含命令 int main(void) {char ch1N, ch2E, ch3W;putchar(ch1);putchar(ch2);putchar(ch3); //输出变量c1、c2和c3中的字符putchar(\n);putcha…

Protocol Buffers设计要点

概述 一种开源跨平台的序列化结构化数据的协议。可用于存储数据或在网络上进行数据通信。它提供了用于描述数据结构的接口描述语言&#xff08;IDL&#xff09;&#xff0c;也提供了根据 IDL 产生代码的程序工具。Protocol Buffers的设计目标是简单和性能&#xff0c;所以与 XM…

长安链共识算法切换:动态调整,灵活可变

#功能发布 长安链3.0正式版发布了多个重点功能&#xff0c;包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 随着长安链应用愈加成熟与广泛&#xff0c;一些在生产中很实用的需求浮出水面。长安…

MySQL进阶-----索引的结构与分类

目录 前言 一、认识索引 二、索引结构 1.概述 2. 二叉树 3 .B-Tree 4.BTree 5.Hash 三、索引的分类 1 .索引分类 2 .聚集索引&二级索引 前言 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构(有序)。在数据之外&#xff0c;数据库系统还维…

基于nginx 动态 URL反向代理的实现

背景&#xff1a; 我们在项目中在这样一个场景&#xff0c;用户需要使用固定的软件资源&#xff0c;这些资源是以服务器或者以容器形式存在的。 资源以webAPI方式在内网向外提供接口&#xff0c;资源分类多种类型&#xff0c;每种类型的资源程序和Wapi参数都一样。这些资源部属…

javaWeb在线考试系统

一、简介 在线考试系统是现代教育中一项重要的辅助教学工具&#xff0c;它为学生提供了便捷的考试方式&#xff0c;同时也为教师提供了高效的考试管理方式。我设计了一个基于JavaWeb的在线考试系统&#xff0c;该系统包括三个角色&#xff1a;管理员、老师和学生。管理员拥有菜…

ubuntu2004自动更新内核导致nvidia驱动无法正常启动的问题

症状 开机后&#xff0c;nvidia-smi无法正常显示显卡状态&#xff0c;另外无法连接多个显示屏 解决 参考这个文章&#xff1a; ls /usr/src可以看到已安装的nvidia驱动版本是nvidia-535.54.03 然后运行下面的指令&#xff1a; sudo apt-get install dkmssudo dkms instal…

Mimikatz介绍

一、Mimikatz定义 mimikatz是benjamin使用C语言编写的一款非常强大的安全工具&#xff0c;它可以从机器内存中提取明文密码、密码Hash、PIN码和Kerberos票据等。它的功能非常强大&#xff0c;得到全球安全研究员的广泛使用。 Mimikatz 是一款功能强大的轻量级调试神器&#xff…

Java版直播商城免 费 搭 建:平台规划与常见营销模式,电商源码、小程序、三级分销及详解

【saas云平台】打造全行业全渠道全场景的saas产品&#xff0c;为经营场景提供一体化解决方案&#xff1b;门店经营区域化、网店经营一体化&#xff0c;本地化、全方位、一站式服务&#xff0c;为多门店提供统一运营解决方案&#xff1b;提供丰富多样的营销玩法覆盖所有经营场景…

在vue中使用echarts饼图示例

1.安装 npm install echarts --save 2.官方示例 option {title: {text: Referer of a Website,subtext: Fake Data,left: center},tooltip: {trigger: item},legend: {orient: vertical,left: left},series: [{name: Access From,type: pie,radius: 50%,data: [{ value: 104…

巧用cpl文件维权和免杀(下)

cpl文件的应用 bypass Windows AppLocker 什么是Windows AppLocker: AppLocker即“应用程序控制策略”&#xff0c;是Windows 7系统中新增加的一项安全功能。在win7以上的系统中默认都集成了该功能。 默认的Applocker规则集合,可以看到cpl并不在默认规则中: 开启Applocker规…