成功加入购物车

去购物车结算 X
闲暇一卷书的书店
  • 中公Python高效开发指南Python网络爬虫综合开发

中公Python高效开发指南Python网络爬虫综合开发

举报

正版全新

  • 作者: 
  • 出版社:    陕西科学技术出版社
  • ISBN:    9787536980556
  • 出版时间: 
  • 装帧:    其他
  • 开本:    16开
  • 纸张:    胶版纸
  • 出版时间: 
  • 装帧:  其他
  • 开本:  16开
  • 纸张:  胶版纸

售价 53.20 9.5折

定价 ¥56.00 

品相 全新

优惠 满包邮

优惠 满减券
    运费
    本店暂时无法向该地区发货

    延迟发货说明

    时间:
    说明:

    上书时间2023-10-12

    数量
    库存4
    微信扫描下方二维码
    微信扫描打开成功后,点击右上角”...“进行转发

    卖家超过10天未登录

    • 商品详情
    • 店铺评价
    手机购买
    微信扫码访问
    • 商品分类:
      计算机与互联网
      货号:
      3302699
      商品描述:
      【书    名】 中公Python高效开发指南Python网络爬虫综合开发
      【书    号】 9787536980556
      【出 版 社】 陕西科学技术出版社
      【作    者】 中公教育优就业研究院
      【出版日期】 2021-07-01
      【开    本】 16开
      【定    价】 56.00元

      【编辑推荐】 
      《中公版·Python高效开发指南:Python网络爬虫综合开发》体系科学,条理清晰,语言通俗易懂,讲解深入浅出,实战性强。本书立足于Python网络爬虫开发所需的基础知识,结合实际编程中所遇到的一些问题进行重点讲解,适用于Python网络爬虫开发初学者。另外,本书也适合作为通过Python网络爬虫开发进入Web全栈开发、数据分析和人工智能领域的入门教材。

      本书采用双色印刷模式,图文并茂,并提供视频讲解等增值服务。在本书的重要章节提供专业讲师的讲解视频,扫描二维码即可实现在线学习,操作便捷高效,使读者在掌握Python网络爬虫开发相关知识的基础下,进一步加强实际操作的动手能力。

      【内容简介】 
      《中公版·Python高效开发指南:Python网络爬虫综合开发》共分为十二章,涵盖了Python网络爬虫综合开发的相关知识,对重难点内容进行了针对性讲解。本书面向Python网络爬虫开发的初学者,按照由浅入深、循序渐进的规律,从讲解网络爬虫开发基础知识,到讲解如何开发单个.py文件的Python爬虫程序,后讲解基于Scrapy爬虫框架的网络爬虫开发。
        ● 网络爬虫概述(章)
        介绍了网络爬虫的基础知识,包括定义、分类、原理和搜索策略等概念性内容。
        ● Python网络爬虫开发基础(第二章)
        介绍了Python开发环境的搭建,重点介绍了PyCharm的使用。另外,还详细介绍了HTTP协议的相关知识,并介绍了HTML、JavaScript和XPath。
        ● 开发单个.py文件的爬虫程序(第三章、第四章)
        介绍了如何开发单个.py文件的Python爬虫程序,该程序采用Request模块获取数据,并采用XPath、BeautifulSoup4和PyQuery模块进行解析。
        ● 开发Python网络爬虫相关技术(第五章至第十章)
        介绍了Python网络爬虫开发中广泛应用的技术,包括正则表达式、数据接口、数据库的使用、表单的使用、模拟登录、反反爬虫方法和Selenium模拟浏览器等,并结合丰富的小案例来展示知识点。
        ● Scrapy爬虫框架(第十一章、第十二章)
        介绍了基于Scrapy爬虫框架的爬虫开发和分布式爬虫框架scrapy-redis,以及爬虫的部署。

      【目录】 
      章网络爬虫概述1

      1.1网络爬虫的定义1

      1.2网络爬虫的发展阶段1

      1.3网络爬虫的应用1

      1.4网络爬虫的类型2

      1.5网络爬虫的原理3

      1.6网络爬虫的搜索策略3

      1.6.1深度优先搜索策略4

      1.6.2广度优先搜索策略4

      1.7反爬虫技术及解决方案5

      1.7.1通过User-Agent来反爬虫5

      1.7.2通过IP限制来反爬虫6

      1.7.3通过JavaScript脚本来反爬虫7

      1.7.4通过robots.txt来反爬虫7

      第二章爬虫开发基础8

      2.1Python的安装和运行8

      2.1.1Python的安装8

      2.1.2编写个Python程序12

      2.2PyCharm开发工具的安装和使用12

      2.3HTTP18

      2.3.1URI和URL18

      2.3.2HTTP和HTTPS18

      2.3.3HTTP请求报文18

      2.3.4HTTP请求过程20

      2.3.5HTTP请求方法21

      2.3.6HTTP响应报文21

      2.4HTTP会话和Cookies23

      2.4.1静态网页和动态网页23

      2.4.2HTTP会话23

      2.4.3Cookies24

      2.5HTTP代理服务器24

      2.5.1HTTP代理服务器的基本原理24

      2.5.2HTTP代理服务器的主要功能25

      2.6HTML25

      2.6.1HTML概述25

      2.6.2HTML基础知识26

      2.6.3HTML常用标签28

      2.7HTMLDOM37

      2.8JavaScript39

      2.8.1JS的使用39

      2.8.2JS变量40

      2.8.3JS变量的命名规则40

      2.8.4JS变量的数据类型40

      2.8.5JS对象41

      2.8.6JS函数41

      2.8.7JS运算符41

      2.8.8JS条件语句42

      2.8.9JS循环语句43

      2.8.10break语句和continue语句45

      2.9JSON45

      2.9.1JSON数据结构45

      2.9.2JSON数据类型46

      2.9.3JSON与XML的比较46

      2.10AJAX48

      2.11XPath48

      2.11.1XPath选取节点48

      2.11.2XPath谓语49

      2.11.3XPath通配符49

      2.11.4XPath多路径选择50

      2.11.5XPath轴50

      2.11.6XPath运算符51

      2.11.7XPath常用的功能函数52

      第三章使用开发者工具分析网站53

      3.1开发者工具53

      3.2元素(Elements)面板54

      3.3网络(Network)面板55

      3.4Chrome插件59

      第四章HTML内容爬取与解析62

      4.1爬虫的开发思路62

      4.2Requests模块概述及其安装65

      4.3Requests基本请求方式67

      4.4复杂的Requests请求方式70

      4.5Requests上传与下载74

      4.6lxml模块的安装与使用方法76

      4.6.1lxml模块的安装76

      4.6.2lxml模块的使用77

      4.7BeautifulSoup4模块88

      4.7.1BeautifulSoup4模块的安装88

      4.7.2解析器89

      4.7.3按照标准的缩进格式输出HTML89

      4.7.4处理HTMLDOM节点91

      4.7.5遍历Tag的子孙节点97

      4.7.6获取Tag的文本内容101

      4.7.7根据Tags间的关系获取节点105

      4.7.8find_all()方法name参数的使用109

      4.7.9find_all()方法其他参数的使用115

      4.7.10搜索HTMLDOM树的其他方法123

      4.7.11采用CSS选择器查找元素124

      4.8PyQuery模块132

      4.8.1PyQuery模块的安装132

      4.8.2PyQuery模块语法讲解132

      4.9TXT文件的读/写操作136

      4.9.1TXT文件的读取136

      4.9.2TXT文件的写入138

      4.10CSV文件的读/写操作139

      4.10.1CSV文件概述139

      4.10.2CSV文件的读取140

      4.10.3CSV文件的写入142

      第五章正则表达式144

      5.1正则表达式常用符号144

      5.1.1正则表达式的定义144

      5.1.2普通字符144

      5.1.3预定义字符145

      5.1.4量词字符147

      5.1.5边界匹配字符150

      5.1.6分组匹配字符152

      5.2re模块及其功能函数153

      5.2.1search()函数153

      5.2.2sub()函数155

      5.2.3findall()函数156

      5.2.4re模块修饰符157

      5.3综合案例——爬取某电影网站的榜单157

      5.3.1爬虫思路分析157

      5.3.2爬虫程序及分析158

      第六章数据接口信息爬取161

      6.1数据接口概述161

      6.2API的使用161

      6.2.1API概述161

      6.2.2API样例161

      6.3解析XHR接口165

      6.3.1JSON解析库165

      6.3.2某招聘网站数据接口分析167

      6.4综合案例——爬取某网站新闻中的图片172

      6.4.1图片爬取方法172

      6.4.2爬虫思路分析173

      6.4.3爬虫程序及分析177

      第七章数据库存储180

      7.1MySQL数据库180

      7.1.1关系型数据库概述180

      7.1.2MySQL的安装182

      7.1.3SQL概述187

      7.1.4MySQL的数据类型187

      7.1.5数据定义语言(DDL)及常用操作189

      7.1.6数据操纵语言(DML)193

      7.1.7数据查询语言(DQL)195

      7.1.8pyMySQL模块的使用203

      7.2MongoDB数据库206

      7.2.1NoSQL数据库概述206

      7.2.2MongoDB的安装206

      7.2.3MongoDB的数据类型213

      7.2.4MongoDB数据库操作214

      7.2.5MongoDB集合操作215

      7.2.6MongoDB文档操作216

      7.2.7pymongo模块的使用222

      7.3Redis数据库226

      7.3.1内存数据库概述226

      7.3.2典型Redis数据类型的操作226

      7.3.3Redis模块的使用234

      7.4综合案例1——爬取某网站的微客数据235

      7.4.1爬虫思路分析235

      7.4.2爬虫程序及分析237

      7.5综合案例2——爬取某网站的房源数据241

      7.5.1爬虫思路分析241

      7.5.2爬虫程序及分析244

      第八章表单交互与模拟登录249

      8.1表单交互249

      8.1.1POST请求249

      8.1.2PythonRequests提交表单249

      8.2模拟登录254

      8.2.1Cookies概述254

      8.2.2提交Cookies模拟登录254

      8.3综合案例——爬取某招聘网站的招聘信息257

      8.3.1爬虫思路分析257

      8.3.2爬虫程序及分析259

      第九章反爬虫技术以及应对方法262

      9.1常见的反爬虫技术262

      9.2基于请求头的反爬虫技术以及应对方法262

      9.3基于用户行为的反爬虫技术以及应对方法264

      9.4基于Cookies的反爬虫技术以及应对方法266

      9.5基于验证码的反爬虫技术以及应对方法267

      第十章Selenium模拟浏览器271

      10.1Selenium概述271

      10.1.1Selenium的介绍和安装271

      10.1.2浏览器的选择和安装271

      10.2Selenium的使用274

      10.2.1模拟浏览器简单操作274

      10.2.2SeleniumDriver操作276

      10.2.3SeleniumWebelement操作277

      10.2.4SeleniumActionChains278

      10.2.5SeleniumWait279

      10.2.6SeleniumExpectedConditions280

      10.2.7模拟登录282

      10.2.8破解滑块验证码283

      10.3综合案例1——爬取某交友软件的好友空间信息288

      10.3.1爬虫思路分析288

      10.3.2爬虫程序及分析291

      10.4综合案例2——爬取某电商网站的商品信息292

      10.4.1爬虫思路分析292

      10.4.2爬虫程序及分析294

      第十一章Scrapy爬虫框架300

      11.1Scrapy的安装和使用300

      11.1.1Scrapy爬虫框架的架构300

      11.1.2安装Scrapy301

      11.1.3创建Scrapy爬虫项目304

      11.1.4Scrapy文件介绍306

      11.1.5编写Scrapy爬虫程序309

      11.1.6运行Scrapy爬虫311

      11.1.7ItemPipeline的用法313

      11.1.8下载中间件的用法315

      11.1.9Scrapy对接Selenium319

      11.2综合案例1——爬取某房地产网站326

      11.2.1爬虫思路分析326

      11.2.2爬虫程序及分析329

      11.3综合案例2——爬取某书评网站335

      11.3.1爬虫思路分析335

      11.3.2爬虫程序及分析338

      第十二章分布式爬虫以及爬虫的部署345

      12.1分布式爬虫原理345

      12.1.1分布式爬虫架构345

      12.1.2维护爬取队列346

      12.1.3去重操作346

      12.1.4防止中断348

      12.2基于scrapy-redis的分布式爬虫348

      12.2.1scrapy-redis架构349

      12.2.2安装scrapy-redis349

      12.2.3scrapy-redis常用配置350

      12.2.4scrapy-redis简单实例350

      12.3Scrapyd部署爬虫351

      12.4Scrapyd-Client的使用353

      【文摘】 
      get_product_contenthtml
                  
                  
                  
                  
                  
                  
                  
                  
                  
                      body{font-size:1.28em}
                      img {max-width:100%;}
                  

                      章
          网络爬虫概述
          1.1网络爬虫的定义
          网络爬虫是一种按照一定的规则,自动地爬取万维网信息的程序或者脚本。网络爬虫又称网络蜘蛛(Web Spider),这是一个很形象的名字,如果将互联网看作一个蜘蛛网,那么爬虫就是在蜘蛛网上爬来爬去的蜘蛛。
          1.2网络爬虫的发展阶段
          到目前为止,网络爬虫大致可分为以下四个发展阶段。
          阶段:早期爬虫。在这一阶段,互联网基本是完全开放的,人类流量是主流,爬虫只是爬取简单的字段信息。
          第二阶段:分布式爬虫。随着互联网数据量的不断增大,爬虫需要设计成分布式架构,才能实现高效爬取。
          第三阶段:暗网爬虫。在这一阶段,互联网出现了很多新的业务,这些业务的数据之间链接很少,因此针对暗网的爬虫被设计出来。
          第四阶段:智能爬虫。在这一阶段,爬虫主要用于社交网络数据的爬取,需要应对各种各样的反爬虫技术。
          1.3网络爬虫的应用
          目前,网络爬虫的主要应用如图1-1所示,其中主要的应用有搜索引擎、数据分析、信息聚合、金融投资分析等。
          在这些应用中,如果没有网络爬虫爬取数据,那么再好的算法和模型也难以得到结果,并且没有数据进行机器学习建模,也无法形成能解决实际问题的模型。因此,在目前炙手可热的人工智能领域,网络爬虫越来越起到数据生产者的关键作用。
          图1-1网络爬虫的主要应用
          1.4网络爬虫的类型
          网络爬虫主要分为以下三种类型。
          (1)通用爬虫
          通用爬虫又称全网爬虫,目前是大型捜索引擎(如百度、搜狗、谷歌等)中内容爬取系统的重要组成部分。通用爬虫的主要目的是将互联网上的网页爬取到本地,形成一个互联网内容的副本,然后再处理形成标签索引,用户搜索时,就会返回搜索关键字与标签相关的网页。通用爬虫的爬取策略为深度优先搜索策略和广度优先搜索策略。
          (2)聚焦爬虫
          聚焦爬虫又称主题网络爬虫,是指选择性地爬取那些与预先定义好的主题相关网页的网络爬虫。
          (3)增量爬虫
          增量爬虫又称增量式网络爬虫,是指对已下载网页采取增量式更新,只爬取新产生的或者已经发生变化的网页的网络爬虫。增量爬虫能够在一定程度上保证爬取的网页尽可能是新的网页。
          上述三种网络爬虫的功能不同,使用方法也不同。例如,百度、谷歌搜索引擎是典型的增量爬虫,提供大而全的内容来满足世界各地用户的需求。随着爬虫使用越来越灵活,很多网站逐渐使用多个爬虫进行同步爬取。例如,很多视频网站都是先通过一般爬虫或者人工批量爬取内容,再提供给用户一些可选项,让用户自己给聚焦爬虫划定范围,后找到匹配度足够高的内容,整个过程极大地降低了资源和时间的消耗。
          1.5网络爬虫的原理
          网络爬虫是模拟用户在浏览器或者某个应用程序上的操作,并实现操作过程自动化的程序。
          简而言之,网络爬虫实质上是实现浏览器的功能,通过指定统一资源定位符(URL),直接返回给用户所需要的数据,而不需要人工去一步步操纵浏览器获取数据。
          网络爬虫的基本工作流程如下:
          ①选取一个初始URL,通常为网站首页的URL。
          ②将初始URL放入待爬取URL队列中。
          ③从待爬取URL队列中取出一个待爬取的URL,将该URL对应的网页下载下来,并存储到已下载网页库中。将这个URL放入已爬取URL集合中。
          ④分析已爬取URL集合中某一URL(假设该URL为A)对应的网页,获取其中的一个或全部其他URL(获取方式基于不同的搜索策略而定),设为数学意义上的集合B。循环判断B中每个URL是否属于已爬取URL集合或已检测URL集合。如果不属于,那么将B中该URL放入待爬取URL队列中;如果属于,那么判断B中下一个URL。上述循环结束后,判断A对应的网页中所有的URL是否都存在于已爬取URL集合中,若是,则将A从已爬取URL集合中删除,放入已检测URL集合中。
          ⑤判断待爬取URL队列是否为空,若不为空,则转入流程③;若为空,则结束爬取。
          需要注意的是,网络上的网页不是一直不变的,因此已检测URL集合中的网页在一段时间后有可能会发生变化。针对这个问题,需要每隔一段时间,将已检测URL集合中的所有URL恢复到已爬取URL集合中。
          1.6网络爬虫的搜索策略
          搜索引擎的网络爬虫工作方式是爬取整个网站,通常从网站首页开始爬取,然后从首页中获取本站其他网页的URL,根据这些URL爬取对应网页的内容。在爬取到的其他网页中再次获取没爬取过的网页的URL,然后通过这些URL爬取下一批网页。采用上述方式一直爬取下去,直到爬取完该网站的所有网页为止。
          如上所述,可将网络爬虫看作一个自动爬取网页的程序,它为搜索引擎从互联网上爬取网页信息,是搜索引擎的重要组成部分。
          在爬取网页时,网络爬虫一般有两种搜索策略,分别是深度优先搜索策略和广度优先搜索策略。
          1.6.1深度优先搜索策略
          采用深度优先搜索策略爬取网页的过程:选取一个初始网页的URL作为当前URL,爬取当前URL对应的网页,并获取其中的其他URL,从中选择任意一个未爬取的URL作为当前URL,继续向下爬取。若当前URL对应的网页中没有未爬取的URL,则回溯,将前一个爬取网页的URL作为当前URL,继续向下爬取,直到所有URL对应的网页都被爬取为止。
          例如,采用深度优先搜索策略爬取如图1-2所示的网站。
          图1-2采用深度优先搜索策略爬取的网站
          在图1-2中,每一个圆圈代表一个网页,分别用字母A~I命名,各个网页的优先级相同,网页之间采用箭头连接,箭头指向的一端是目标网页,另一端是源网页,箭头连接表明源网页中包含目标网页的URL。
          选取A作为初始网页,将A的URL作为当前URL,爬取A,从A中获取了B、C、D、E、F的URL。选择B的URL作为当前URL,爬取B,爬完后,由于B中没有获取URL,因此回溯到上一个A,搜索A中未爬取的URL,选择C的URL作为当前URL,爬取C。与B同理,接着爬取D和E。爬完E后,从E中获取了H的URL,于是爬取H。爬完H后,从H中获取了I的URL,于是爬取I,爬完后,由于I中没有获取URL,因此不断回溯直到A,搜索A中未爬取的URL,此时只剩F的URL未爬取,将F的URL作为当前URL,爬取F,从F中获取了G的URL,于是爬取G,爬完后,由于G中没有获取URL,因此不断回溯直到A,此时A中没有未爬取的URL,整个爬取过程结束。
          1.6.2广度优先搜索策略
          采用广度优先搜索策略爬取网页的过程:选取一个初始网页的URL作为当前URL,爬取当前URL对应的网页,并获取其中的所有未爬取URL,放入待爬取URL队列,依次爬取上述所有未爬取的URL,每次爬取都将当前URL置为正在爬取的URL。若当前URL对应的网页中没有未爬取的URL,则将待爬取队列中的队头URL作为当前URL,继续向下爬取,直到所有URL对应的网页都被爬取为止。广度优先搜索策略是爬虫常用的方式,因为这种方式可以让网络爬虫并行处理,提高爬取速度。
          例如,采用广度优先搜索策略爬取如图1-3所示的网站。
          图1-3采用广度优先搜索策略爬取的网站
          在图1-3中,每一个圆圈代表一个网页,分别用字母A~I命名,各个网页的优先级相同,网页之间采用箭头连接,箭头指向的一端是目标网页,另一端是源网页,箭头连接表明源网页中包含目标网页的URL。
          选取A作为初始网页,将A的URL作为当前URL,爬取A,从A中获取了B、C、D的URL,于是分别爬取B、C、D,每次爬取都分别将B、C、D中的未爬取URL放入待爬取URL队列中,全部爬取完后,A中已没有未爬取的URL。待爬取URL队列中的个元素为E,把E的URL作为当前URL,爬取E。E中已没有未爬取的URL,接着爬取待爬取队列中的F,然后依次爬取G、H、I,整个爬取过程结束。
          这个爬取顺序验证了爬虫是逐层进行爬取的,只有在完成上一层的爬取之后,才会爬取下一层,这就是广度优先策略爬取的过程。
          1.7反爬

      配送说明

      ...

      相似商品

      为你推荐

    本店分类
    孔网啦啦啦啦啦纺织女工火锅店第三课

    开播时间:09月02日 10:30

    即将开播,去预约
    直播中,去观看