• 【全新正版】 Python爬虫实战基础 李科均 9787302626565 清华大学出版社
  • 【全新正版】 Python爬虫实战基础 李科均 9787302626565 清华大学出版社
  • 【全新正版】 Python爬虫实战基础 李科均 9787302626565 清华大学出版社
  • 【全新正版】 Python爬虫实战基础 李科均 9787302626565 清华大学出版社
  • 【全新正版】 Python爬虫实战基础 李科均 9787302626565 清华大学出版社
21年品牌 40万+商家 超1.5亿件商品

【全新正版】 Python爬虫实战基础 李科均 9787302626565 清华大学出版社

正版图书 真实库存欢迎选购 套装图书先联系再下单 套装图书请先咨询客服再下单

56.04 5.1折 109 全新

库存5件

河北保定
认证卖家担保交易快速发货售后保障

作者李科均

出版社清华大学出版社

ISBN9787302626565

出版时间2023-06

装帧平装

开本16开

定价109元

货号29576022

上书时间2024-12-12

润田图书店

四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

什么是网络爬虫

狭义的网络爬虫是指从互联网网站上获取信息的程序,如常用的搜索引擎——百度、360、搜狗等。同时,网络爬虫也是一门复合型技术,涉及的技术领域广泛,如JavaScript、HTML、CSS、MySQL、Java等。广义的爬虫技术还包括自动化。在这个概念下,网络爬虫不再只是从目标网站获取链接、图片、文字等信息,甚至它们不再是为了获取这些信息,而是为了完成某个特定任务,如定时打卡、自动统计、财务计算等。

网络爬虫的应用前景

随着互联网各大平台将网络爬虫列为防御的目标之一,网络爬虫与反爬虫技术开始全面角逐。网络爬虫行业越发地蓬勃发展,爬虫技术不断地更新迭代,同时,网络爬虫的技术体系愈加庞大和完善,不管是互联网大公司还是小公司,或多或少都有对网络爬虫的需求。此外,随着智能时代的到来,得益于RPA(Robotic Process Automation,机器人流程自动化)技术的发展,网络爬虫在自动化领域有着广泛的应用市场,如财务数据的统计分析、后台订单的自动化管理、用户的自动维护等,所以网络爬虫的需求呈现井喷式增长的趋势。

关于本书

本书主要讲解网络爬虫从业者应掌握的基础知识。全书共分为10章,主要涉及 服务的环境部署、 开发工具的安装、信息的提取和Python日志的灵活运用、Docker和数据库的操作、底层机制和协议的原理和协议的内容、Python开发中常用的爬虫库pyppeteer、selenium、requests的使用。各章的大致内容如下。

第1章讲解Docker的安装及通过Docker安装MySQL、Redis、MongoDB、Selenium Grid服务的方法,还讲解常用开发软件PyCharm及辅助软件Node.js、Fiddler、Postman、XPath插件的安装方法。

第2章讲解HTML页面的构成原理,以及XPath提取HTML页面信息和正则表达式提取任意文本信息的方法。

第3章讲解Python日志模块的构成、多样的使用方式和应用场景,以及日志的配置。

第4章讲解ORM操作MySQL数据库的方法、MongoDB数据库的使用方法、Redis数据库的常用操作和常见应用场景,如去重和分布式架构。

第5章讲解机制与协议,包括TCP/IP协议簇、 TCP协议和UDP协议及socket实现TCP和UDP协议通信、HTTP和HTTPS协议的通信过程和区别、WebSocket协议及应用、SMTP协议和IMAP协议实现邮件的收发、Robots协议内容以及常见的安全与会话机制,如CSFR、Cookie、Session、Token及JWT认证。

第6章介绍开发中一些常用工具的高级功能,包括Fiddler、Postman、PyCharm和Git。

第7章介绍Docker的全体系内容,包括仓库的搭建、镜像的构建、网络管理和数据卷管理、Dockerfile指令及文件编写、Docker Compose构建多容器服务等。

第8章介绍requests库的基础和常用的高级功能,后通过POST登录及邮箱验证过程,帮助读者深入学习requests内部请求类Request的使用方法。

第9章介绍Selenium及分布式Chrome集群的使用,对selenium库使用中的常见问题,如超时问题、代理认证问题、响应拦截问题进行重点介绍。后以商城为例,模拟登录获取Cookie,并通过携带Cookie的Session完成请求,其中的难点在于如何处理登录过程出现的滑动验证问题。


第10章介绍多进程与多线程爬虫,包括 Python多进程的创建、进程池进程间的通信问题、线程的创建、线程安全锁的使用、死锁以及全局解释器锁问题。

本书配套源代码可以扫描下方二维码获取。

 


源代码


关于作者

我是非科班出身的程序员,中途转行从事Python网络爬虫开发和Python全栈开发工作,从零基础到掌握网络爬虫开发的全体系技术,一路走过很多曲折的道路。写本书的原因之一是帮助那些与曾经的我一样不知道如何提升技术水平,以及在网络爬虫领域还比较迷茫的读者。在技术道路上没有速成的捷径,如果有,那就是昼夜兼程地学习和实践,希望本书能起到抛砖引玉的效果。我曾就职于Synnex,这是一家优秀的世界500强公司。在职时,我从事流程自动化方面的工作,遇到了平易近人的领导及一群友好和富有爱心的同事,他们在技术提升和视野开阔方面给予了我很大的帮助,在这里我十分感谢他们。同时,在个人博客中我不断地总结,并将平时工作中的经验记录在其中。这个习惯也为我写本书奠定了基础。为了更系统地学习和总结,我萌生了编写这本书的想法,这也是编写本书的另一个原因。在离开Synnex,向更高技术台阶奋进的同时,我也开启了本书的编写。


由于我的水平有限,书中不当之处在所难免,欢迎广大同行和读者批评指正。


李科均2023年3月

 

 

 

 

 

 

 



导语摘要

本书介绍Python网络爬虫开发从业者应掌握的基础技能。本书以网络爬虫为核心,涉及大大小小数十个能力体系。本书的前半部分介绍爬虫开发的基础知识,包括爬虫开发 的环境搭建方法、开发中常用工具的使用方法和技巧、网页的构成原理和网页信息提取的方法、常用数据库的使用方法和应用场景,如通过Redis内置的布隆过滤器实现大规模URL地址的去重任务。本书的后半部分主要讲解网络爬虫开发所需的必要能力,包括网络通信的底层原理、背后涉及的互联网协议标准及如何对这些协议进行分析并加以利用,使用Docker部署网络爬虫所需的环境和爬虫项目的打包部署,使用网络爬虫的核心请求库实现与服务器端和客户端的通信和交互,使用自动化神器Selenium对复杂的爬虫需求进行快速实现,以及网络爬虫的多任务开发,重点是通过多线程和多进程来提高爬虫效率。

本书面向准备从事或正在从事网络爬虫开发的从业者以及对网络爬虫有浓厚兴趣的爱好者。



目录

第1章基础开发环境


1.1Docker环境的搭建


1.1.1安装Docker


1.1.2用Docker安装MySQL


1.1.3用Docker安装Redis


1.1.4用Docker安装MongoDB


1.1.5用Docker安装Selenium Grid


1.2Python的开发环境


1.2.1Python的优点、缺点


1.2.2Python解释器


1.2.3Python IDE


1.3JavaScript的运行环境


1.4辅助工具的安装


1.4.1安装Git


1.4.2安装ADB驱动


1.4.3安装Fiddler


1.4.4安装Postman


1.4.5XPath测试插件


第2章HTML页面的信息提取


2.1HTML页面解析概述


2.1.1HTML页面的构成原理


2.1.2Python提取HTML页面信息的方式


2.2XPath提取HTML页面信息


2.2.1XPath基础


2.2.2XPath教程


2.2.3XPath技巧


2.3正则表达式


2.3.1基本语法


2.3.2表达式全集


2.3.3表达式字符组、优先权


2.3.4表达式的分组与引用


2.3.5Python re模块


2.4案例


2.4.1正则校验公民身份号码的合法性


2.4.2下载微信文章及其静态资源


第3章日志模块


3.1日志基础


3.1.1应用场景及重要性


3.1.2日志的使用


3.2四大组件之Logger(记录器)


3.2.1Logger的作用


3.2.2Logger的属性和方法


3.2.3Logger的常用配置方法


3.2.4案例: 为日志记录器添加自定义过滤器


 


 


 



3.3四大组件之Handler(处理器)


3.3.1Handle的作用


3.3.2Handle的属性和方法


3.3.3Handle的常用方法


3.3.4内置Handler类型及功能


3.3.5案例一: 将日志写入磁盘文件


3.3.6案例二: 将日志文件按时间分割


3.3.7案例三: 将日志文件按大小分割


3.3.8案例四: 给指定邮箱发送日志消息


3.3.9案例五: Web日志服务器的传参、认证和调用


3.4四大组件之Formatter(格式化器)


3.4.1Formatter的属性和方法


3.4.2可选格式化字段


3.5四大组件之Filters(过滤器)


3.5.1Filters的属性和方法


3.5.2自定义Filters


3.6LogRecord对象


3.6.1LogRecord的属性和方法


3.6.2构造LogRecord实例化对象


3.6.3案例: Web日志服务器恢复LogRecord对象


3.7日志的配置


3.7.1显式配置


3.7.2通过fileConfig配置


3.7.3通过dictConfig配置


第4章数据库操作


4.1通过ORM模型操作MySQL


4.1.1什么是ORM模型


4.1.2SQLAlchemy是什么


4.1.3SQLAlchemy基础


4.1.4数据库引擎配置


4.1.5创建会话


4.1.6创建声明性类


4.1.7定义数据列及类型


4.1.8增、改、查、删


4.1.9ORM事务操作


4.1.10常用关系表的创建


4.1.11关系表数据的插入


4.1.12连接查询


4.1.13关系表数据的删除


4.2MongoDB数据库


4.2.1MongoDB基础 


4.2.2MongoDB文档的增、删、改


4.2.3MongoDB文档查询


4.2.4MongoDB的聚合


4.2.5MongoDB索引操作


4.2.6MongoDB的复制


4.2.7MongoDB的备份与恢复


4.2.8Python与MongoDB交互


4.3Redis操作


4.3.1Redis基础


4.3.2Python操作Redis的流程


4.3.3Python中常用的Redis命令


4.3.4Python中使用Redis去重


4.3.5Redis内置布隆过滤器


4.3.6使用Redis作消息队列


4.3.7打造Redis发布订阅框架


第5章机制与协议


5.1TCP/IP协议簇


5.1.1互联网协议套件


5.1.2TCP/IP协议簇的组成


5.1.3TCP/IP参考模型



5.2TCP与UDP协议


5.2.1socket通信


5.2.2UDP协议


5.2.3TCP协议


5.2.4TCP的三次握手


5.2.5TCP的四次挥手


5.2.6TCP长连接


5.3HTTP与HTTPS协议


5.3.1HTTP协议的实现


5.3.2使用socket实现HTTP协议服务器


5.3.3HTTPS协议的实现


5.3.4关于TLS与SSL协议


5.3.5一次爬虫请求的过程


5.3.6HTTP响应状态码


5.3.7HTTP请求头与响应头


5.4WebSocket协议


5.4.1协议内容


5.4.2Python连接WebSocket


5.4.3案例: 虚拟货币实时价格爬虫


5.5SMTP协议与IMAP协议


5.5.1SMTP协议


5.5.2IMAP协议


5.5.3Python使用SMTP关键接口


5.5.4Python使用IMAP关键接口


5.5.5案例一: 发送HTML格式的邮件


5.5.6案例二: 发送带附件的邮件


5.5.7案例三: 发送显示图片的HTML格式的邮件


5.5.8案例四: 自动读取邮箱验证码


5.6Robots协议


5.7安全与会话机制


5.7.1CSRF攻击与保护


5.7.2CSRF验证过程


5.7.3Cookie机制


5.7.4会话


5.7.5Token与JWT


5.7.6案例: 获取本地Chrome浏览器中的任意Cookie信息



第6章工具教程


6.1Fiddler高级抓包教程


6.1.1Fiddler的基础功能


6.1.2抓取HTTPS请求


6.1.3Fiddler的过滤规则


6.1.4Fiddler断点调试


6.1.5Fiddler手机抓包


6.1.6App的防抓包措施


6.1.7安卓系统模拟器抓包


6.1.8一键生成Python代码


6.1.9自定义请求响应规则


6.1.10响应数据转发脚本


6.1.11Fiddler脚本开发


6.2Postman高级教程


6.2.1Postman的基础


6.2.2设置Postman变量


6.2.3编写动态变量逻辑


6.2.4Postman Cookie管理


6.2.5请求及响应相关功能


6.2.6生成Python代码


6.3PyCharm的高级功能


6.3.1PyCharm断点调试


6.3.2SFTP同步代码到服务器


6.3.3使用远程解释器环境


6.3.4调试JavaScript代码


6.3.5PyCharm的常用快捷键


6.3.6PyCharm数据库管理


6.3.7智能补全插件aiXcode


6.3.8PyCharm中使用Git版本管理


6.4Git教程


6.4.1Git管理模型


6.4.2仓库基础操作


6.4.3Git分支的管理


6.4.4Git标签的使用


6.4.5Git团队协作流程


6.4.6案例: 用GitHub完成团队协作



第7章Docker教程


7.1Docker的服务架构


7.1.1什么是Docker


7.1.2Docker架构模型


7.2Docker基础


7.2.1容器的应用


7.2.2镜像的应用


7.3Docker数据与网络


7.3.1数据共享与持久化


7.3.2Docker的网络模式


7.4Dockerfile的实践


7.4.1一般准则和建议


7.4.2Dockerfile指令


7.4.3多阶段构建


7.4.4案例: 从Python 3解释器到项目代码的构建 


7.5Docker仓库管理


7.5.1使用官方仓库Docker Hub


7.5.2搭建私有仓库Registry


7.5.3搭建企业级仓库Harbor


7.6Docker Compose的容器编排


7.6.1YAML文件格式基础


7.6.2Compose的安装与卸载


7.6.3常用的yml配置指令


7.6.4常用的Compose 命令


7.6.5Compose编排案例


7.7案例: 容器化部署爬虫项目


第8章requests教程


8.1requests基础


8.1.1requests的环境


8.1.2requests的简介


8.2Request


8.2.1Request的流程


8.2.2Request的接口


8.2.3Request控制访问参数


8.3Response


8.3.1Response对象的属性


8.3.2Response对象的方法


8.3.3响应内容


8.3.4超时、错误与异常


8.4实用函数工具


8.4.1URL处理方法


8.4.2获取字符串编码


8.4.3获取headers中的编码


8.4.4获取环境变量中的代理


8.4.5提取URL中的认证信息


8.5requests的高级用法


8.5.1会话对象


8.5.2Cookie对象


8.5.3SSL校验


8.5.4代理请求


8.5.5文件上传


8.5.6身份认证


8.6案例: POST登录与邮箱验证


8.6.1登录请求流程分析


8.6.2用POST登录获取会话


第9章Selenium教程


9.1Selenium基础


9.1.1关于Selenium


9.1.2Selenium及驱动安装


9.2浏览器的启动


9.2.1启动本地浏览器


9.2.2启动远程分布式浏览器


9.2.3启动项参数配置


9.3Selenium常用的API


9.3.1常用浏览器的操作接口


9.3.2元素对象WebElement


9.3.3键入操作与选择操作


9.3.4行为链ActionChains


9.3.5页面的Cookie处理


9.3.6内嵌框处理


9.3.7JavaScript事件


9.3.8超时问题的处理


9.4Selenium的常用操作


9.4.1识别特征处理


9.4.2配置认证代理


9.4.3响应拦截操作


9.4.4控制安卓系统上的Chrome浏览器


9.5案例: Selenium登录、滑动验证、Session请求


9.5.1需求分析


9.5.2实现流程


9.5.3编码实现


第10章多任务爬虫开发


10.1多进程


10.1.1Process类创建进程


10.1.2Process子类创建进程


10.1.3进程池


10.1.4多进程间通信


10.2多线程


10.2.1创建多线程


   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP