您好,欢迎光临有路网!
Python 3.x网络爬虫从零基础到项目实战
QQ咨询:
有路璐璐:

Python 3.x网络爬虫从零基础到项目实战

  • 作者:史卫亚
  • 出版社:北京大学出版社
  • ISBN:9787301312827
  • 出版日期:2020年05月01日
  • 页数:612
  • 定价:¥108.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    《Python 3.x网络爬虫从零基础到项目实战》介绍了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介、发送请求、提取数据、使用多个线程和进程进行并发抓取、抓取动态页面中的内容、与表单进行交互、处理页面中的验证码问题及使用Scrapy和分布式进行数据抓取,并在*后介绍了使用本书讲解的数据抓取技术对几个真实的网站进行抓取的实例,旨在帮助读者活学活用书中介绍的技术。 本书提供了与图书内容全程同步的教学录像。此外,还赠送了大量相关学习资料,以便读者扩展学习。 本书适合任何想学习Python爬虫的读者,无论您是否从事计算机相关专业,是否接触过Python,均可以通过学习本书快速掌握Python爬虫的开发方法和技巧。
    文章节选
    第1章
    爬虫基础

    互联网上有浩瀚的数据资源,要想爬取这些数据就离不开爬虫。本章学习关于Python爬虫的一些技术内容。
    本章**讲解以下内容。
    爬虫的相关概念
    Python语法的一些基础知识
    网页相关的知识,包括HTML和HTTP


    1.1 认识爬虫
    网络爬虫又称为网页蜘蛛、网络机器人,通俗来讲,网络爬虫就是一段程序,通过这段程序可以在网站上获取需要的信息,如文字、视频、图片等。此外,网络爬虫还有些不常用的名称,如蚂蚁、自动索引、模拟程序或蠕虫等。
    爬虫的设计思路如下。
    (1)明确需要爬取的网页的URL地址。
    (2)通过HTTP请求来获取对应的HTML页面。
    (3)提取HTML中的内容。这里有两种情况:如果是有用的数据,就保存起来;如果是需要继续爬取的页面,就重新指定第(2)步。
    为了更方便地理解爬虫,下面介绍大数据时代获取数据的方式。
    1.1.1 大数据时代获取数据的方式
    随着社会的高速发展,科技发达,信息畅通,人们之间的交流越来越密切,生活也越来越方便,大数据就是这个高科技时代的产物。那么在大数据时代,获取数据的方式有哪些?
    (1)企业产生的数据:百度搜索指数、腾讯公司业绩数据、阿里巴巴集团财务及运营数据、新浪微博微指数等。
    (2)数据平台购买的数据:数据平台包括数据堂、国云数据市场、贵阳大数据交易所等。
    (3)政府/机构公开的数据:**统计局数据、中国人民银行调查统计司统计数据、世界银行公开数据、联合国数据库、纳斯达克综合指数、新浪美股实时行情等。这些数据通常都是由各地政府统计上报,或者由行业内专业的网站、机构等提供。
    (4)数据管理咨询公司的数据:麦肯锡、埃森哲、尼尔森、中国互联网络信息**、艾瑞咨询等数据管理咨询公司,通常拥有庞大的数据团队,一般通过市场调研、问卷调查、固定的样本检测、与各行各业的公司合作、专家对话来获取数据,并根据客户需求制定商业解决方案。
    (5)爬取网络数据:如果数据市场上没有需要的数据,或者价格太高不愿意购买,那么可以利用爬虫技术,获取网站上的数据。
    第5种方式就是本书要**介绍的内容。
    1.1.2 爬虫的分类
    爬虫有很多种类型,根据使用场景的不同,可以将爬虫分为通用爬虫和聚焦爬虫两种。
    1. 通用爬虫
    随着网络技术的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎的核心就是通用爬虫,例如,传统的通用搜索引擎谷歌、百度等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。
    随着网络技术的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎的核心就是通用爬虫,例如,传统的通用搜索引擎谷歌、百度等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。
    通用爬虫是搜索引擎爬取系统的重要组成部分,主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。
    通用爬虫是从互联网中搜集网页、采集信息。采集的网页信息可以为搜索引擎建立索引提供支持,它决定着整个引擎系统的内容是否丰富,信息是否及时,因此其性能的优劣直接影响着搜索引擎的效果。搜索引擎网络爬虫的基本工作流程如下。
    (1)爬取网页。
    如图1-1所示,取一部分种子URL,将这些种子放入待爬取URL队列。取出待爬取URL,解析DNS得到主机的IP,并将URL对应的网页下载下来,存储到已下载的网页库中,再将这些URL放入已爬取的URL队列。分析已爬取的URL队列中的URL,分析其中的其他URL,并且将其中需要继续爬取的URL放入待爬取的URL队列,从而进入下一个循环。

    图1-1 搜索引擎网络爬虫的基本工作流程
    在图1-1中,搜索引擎获取新网站的URL,是输入了一定的规则,如标注为nofollow的链接或Robots协议。
    提 示Robots协议也称为爬虫协议、机器人协议等,其全称为网络爬虫排除标准(Robots Exclusion Protocol)。网站通过Robots协议告诉搜索引擎哪些页面可以爬取,哪些页面不能爬取,例如,淘宝网:https://www.taobao.com/robots.txt,腾讯网:http://www.qq.com/robots.txt。
    (2)数据存储。
    搜索引擎通过爬虫爬取到的网页,将数据存入原始页面数据库。其中的页面数据与用户浏览器得到的HTML是一致的。搜索引擎网络爬虫在爬取页面的同时,也做重复内容检测,一旦遇到访问权重很低的网站上有大量抄袭、采集或复制的内容,就有可能不再继续爬行。
    (3)预处理。
    搜索引擎将爬虫爬取的页面进行预处理,如提取文字、中文分词、索引处理等。
    除HTML文件外,搜索引擎通常还能爬取和索引以文字为基础的多种文件类型,如 PDF、Word、WPS、XLS、PPT、TXT文件等。
    (4)提供检索服务,网站排名。
    搜索引擎在对信息进行组织和处理后,为用户提供关键字检索服务,将用户检索相关的信息展示给用户。同时会根据页面的PageRank值(链接的访问量排名)来进行网站排名,Rank值高的网站在搜索结果中会排名较前。
    通用爬虫虽然功能很强大,但是也存在一定的局限性。
    (1)不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。
    (2)通用搜索引擎的目标是尽可能地扩大网络覆盖范围,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。
    (3)网络技术的不断发展,万维网数据形式越来越丰富,如图片、数据库、音频、视频等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很快地发现和获取。
    (4)通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。
    2. 聚焦爬虫
    为了解决通用爬虫的局限性,定向爬取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的爬取目标,有选择地访问万维网上的网页与相关的链接,获取所需信息。与通用爬虫不同的是,聚焦爬虫并不追求大的覆盖范围,而将目标定为爬取与某一特定主题内容相关的网页,为面向主题的用户查询获取数据资源。
    提 示
    第2~21章介绍的网络爬虫,就是聚焦爬虫。
    目录
    目录 第1章 爬虫基础 1 1.1 认识爬虫 2 1.2 Python环境 4 1.3 Python语法 11 1.4 网页结构 62 1.5 HTTP协议 68 1.6 本章小结 84 1.7 实战练习 84 第2章 开始爬虫 85 2.1 urllib模块 86 2.2 requests模块 88 2.3 re模块 110 2.4 项目案例:爬百度贴吧 122 2.5 本章小结 128 2.6 实战练习 128 第3章 更多数据提取的方式 129 3.1 XPath和LXml 130 3.2 BeautifulSoup4 137 3.3 JsonPath 143 3.4 性能和选择 148 3.5 项目案例:爬腾讯招聘网 148 3.6 本章小结 154 3.7 实战练习 154 第4章 并发 155 4.1 100万个网页 156 4.2 进程 161 4.3 线程 181 4.4 锁 191 4.5 协程 202 4.6 线程、进程、协程对比 206 4.7 并发爬虫 207 4.8 本章小结 216 4.9 实战练习 216 第5章 数据存储 217 5.1 文件存储 218 5.2 关系型数据库存储 221 5.3 非关系型数据库存储 231 5.4 项目案例:爬豆瓣电影 266 5.5 本章小结 270 5.6 实战练习 270 第6章 Ajax数据爬取 271 6.1 Ajax的概念 272 6.2 实现Ajax 272 6.3 项目案例:爬斗鱼直播 282 6.4 本章小结 286 6.5 实战练习 286 第7章 动态渲染页面爬取 287 7.1 Selenium 288 7.2 项目案例:爬**商品 306 7.3 本章小结 311 7.4 实战练习 312 第8章 图形验证码识别 313 8.1 使用pytesseract 314 8.2 使用打码平台 317 8.3 项目案例:识别验证码完成登录 323 8.4 本章小结 326 8.5 实战练习 326 第9章 模拟登录 327 9.1 Cookie 328 9.2 Session 330 9.3 Cookie池的搭建 332 9.4 项目案例:登录GitHub 335 9.5 本章小结 340 9.6 实战练习 340 第10章 代理IP的使用 341 10.1 代理IP 342 10.2 代理IP池 348 10.3 付费代理的使用 351 10.4 项目案例:使用代理IP爬微信公众号 358 10.5 本章小结 368 10.6 实战练习 368 第11章 Scrapy框架 369 11.1 认识Scrapy 370 11.2 编写Scrapy的**个案例 373 11.3 Spider详情 384 11.4 操作数据 403 11.5 模拟登录 432 11.6 中间件 446 11.7 分布式 458 11.8 项目案例:爬新浪新闻 500 11.9 本章小结 510 11.10 实战练习 510 第12章 项目案例:爬校花网信息 511 12.1 分析网站 512 12.2 开始爬取 515 第13章 项目案例:爬北京地区短租房信息 523 13.1 分析网站 524 13.2 开始爬取 525 第14章 项目案例:爬简书专题信息 531 14.1 分析网站 532 14.2 开始爬取 535 第15章 项目案例:爬QQ音乐歌曲 539 15.1 分析网站 540 15.2 开始爬取 542 第16章 项目案例:爬百度翻译 545 16.1 分析网站 546 16.2 开始爬取 550 第17章 项目案例:爬百度地图API 555 17.1 分析网站 556 17.2 开始爬取 560 第18章 项目案例:爬360图片 571 18.1 分析网站 572 18.2 开始爬取 573 第19章 项目案例:爬当当网 577 19.1 分析网站 578 19.2 开始爬取 580 第20章 项目案例:爬唯品会 585 20.1 分析网站 586 20.2 开始爬取 589 第21章 项目案例:爬智联招聘 593 21.1 分析网站 594 21.2 开始爬取 597

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外