由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版]Python爬虫技术:深入理解原理、技术与开发 李宁 宁哥大讲堂 数据分析 数据挖掘 Web开发 机器学习
¥ ×1
店铺公告
为保障消费者合理购买需求及公平交易机会,避免因非生活消费目的的购买货囤积商品,抬价转售等违法行为发生,店铺有权对异常订单不发货且不进行赔付。异常订单:包括但不限于相同用户ID批量下单,同一用户(指不同用户ID,存在相同/临近/虚构收货地址,或相同联系号码,收件人,同账户付款人等情形的)批量下单(一次性大于5本),以及其他非消费目的的交易订单。
温馨提示:请务必当着快递员面开箱验货,如发现破损,请立即拍照拒收,如验货有问题请及时联系在线客服处理,(如开箱验货时发现破损,所产生运费由我司承担,一经签收即为货物完好,如果您未开箱验货,一切损失就需要由买家承担,所以请买家一定要仔细验货)。
关于退货运费:对于下单后且物流已发货货品在途的状态下,原则上均不接受退货申请,如顾客原因退货需要承担来回运费,如因产品质量问题(非破损问题)可在签收后,联系在线客服。
书名: | Python爬虫技术——深入理解原理、技术与开发(宁哥大讲堂) |
出版社: | 清华大学出版社 |
出版日期 | 2019 |
ISBN号: | 9787302535683 |
|
李宁 欧瑞科技创始人&CEO,宁哥教育创始人,东北大学计算机专业硕士。曾任国内某大型软件公司项目经理、宁哥教育教学总监、51CTO学院金牌讲师、CSDN特级讲师。从事软件研究和开发超过15年,一直从事Python、人工智能、区块链、JavaScript、Node.js、Java以及跨平台技术的研究和技术指导工作,对国内外相关领域的技术、理论和实践有很深的理解和研究 |
|
JetBrains大中华区市场部经理赵磊作序!超过300个实战案例,10万行源代码,22个综合实战项目,海量学习资料,1000套中英文简历模板。全书内容涵盖: |
|
第 1篇基础知识 1.1 安装官方的 Python运行环境 .2 1.2 配置 PATH环境变量.5 1.3 安装 Anaconda Python开发环境 .6 1.4 安装 PyCharm .7 1.5 配置 PyCharm .8 1.6 小结 . 10 第 2章爬虫基础.11 2.1 HTTP基础 11 2.1.1 URI和 URL 11 2.1.2 超文本 12 2.1.3 HTTP与 HTTPS . 12 2.1.4 HTTP的请求过程 . 15 2.1.5 请求 17 2.1.6 响应 20 2.2 网页基础 23 2.2.1 HTML . 23 2.2.2 CSS 24 2.2.3 CSS选择器. 25 2.2.4 JavaScript . 27 2.3 爬虫的基本原理 27 2.3.1 爬虫的分类 . 27 2.3.2 爬虫抓取数据的方式和手段 . 28 2.4 Session与 Cookie . 28 2.4.1 静态页面和动态页面 . 29 2.4.2 无状态 HTTP与 Cookie 30 2.4.3 利用 Session和 Cookie保持状态 . 30 2.4.4 查看网站的 Cookie 31 2.4.5 HTTP状态何时会失效 32 CONTENTS 目 录 2.6 实战案例:抓取博客文章列表 . 37 2.7 小结 . 40 第 2篇网络库 3.1 urllib简介 42 3.2 发送请求与获得响应 . 43 3.2.1 用 urlopen函数发送 HTTP GET请求 43 3.2.4 设置 HTTP请求头 46 3.2.5 设置中文 HTTP请求头 . 48 3.2.6 请求基础验证页面 . 50 3.2.7 搭建代理与使用代理 . 54 3.2.8 读取和设置 Cookie 56 3.3 异常处理 60 3.3.1 URLError 60 3.3.2 HTTPError 61 3.4 解析链接 62 3.4.1 拆分与合并 URL(urlparse与 urlunparse) . 62 3.4.4 URL编码(urlencode). 65 3.4.5 编码与解码(quote与 unquote). 66 3.4.6 参数转换(parse_qs与 parse_qsl) 66 3.5 Robots协议 67 3.5.1 Robots协议简介 . 67 3.5.2 分析 Robots协议 68 3.6 小结 . 69 第 4章网络库 urllib3 . 70 4.1 urllib3简介 70 4.2 urllib3模块 70 4.3 发送 HTTP GET请求 71 4.4 发送 HTTP POST请求 72 4.5 HTTP请求头 74 4.6 HTTP响应头 76 4.7 上传文件 76 4.8 超时 . 78 4.9 小结 . 79 第 5章网络库 requests . 80 5.1 基本用法 80 5.1.1 requests的 HelloWorld 81 5.1.2 GET请求 81 5.1.3 添加 HTTP请求头 82 5.1.4 抓取二进制数据 83 5.1.5 POST请求 84 5.1.6 响应数据 . 85 5.2 高级用法 87 5.2.1 上传文件 . 88 5.2.2 处理 Cookie 89 5.2.3 使用同一个会话(Session) 90 5.2.4 SSL证书验证 91 5.2.5 使用代理 . 94 5.2.6 超时 95 5.2.7 身份验证 . 97 5.2.8 将请求打包 . 97 5.3 小结 . 98 第 6章 Twisted网络框架 99 6.1 异步编程模型 . 99 6.2 Reactor(反应堆)模式 . 101 6.3 HelloWorld,Twisted框架 101 6.4 用 Twisted实现时间戳客户端 103 6.5 用 Twisted实现时间戳服务端 104 6.6 小结 . 105 第 3篇解析库 7.1 使用正则表达式 108 7.1.1 使用 match方法匹配字符串 108 7.1.2 使用 search方法在一个字符串中查找模式 . 109 7.1.4 匹配任何单个字符 . 111 7.1.5 使用字符集 . 112 7.1.6 重复、可选和特殊字符 114 7.1.7 分组 117 7.1.8 匹配字符串的起始和结尾以及单词边界 . 118 7.1.11 使用 split分隔字符串 122 7.2 一些常用的正则表达式 . 123 7.3 项目实战:抓取小说目录和全文 . 124 7.4 项目实战:抓取猫眼电影 Top100榜单 128 7.5 项目实战:抓取糗事百科网的段子 133 7.6 小结 . 136 第 8章 lxml与 XPath . 137 8.1 lxml基础 137 8.1.1 安装 lxml 137 8.1.2 操作 XML . 138 8.1.3 操作 HTML . 140 8.2 XPath . 141 8.2.1 XPath概述 141 8.2.2 使用 XPath 141 8.2.3 选取所有节点 143 8.2.4 选取子节点 . 145 8.2.5 选取父节点 . 146 8.2.6 属性匹配与获取 146 8.2.7 多属性匹配 . 147 8.2.8 按序选择节点 148 8.2.9 节点轴选择 . 149 8.2.10 在 Chrome中自动获得 XPath代码 151 8.3 项目实战:抓取豆瓣 Top250图书榜单 154 8.4 项目实战:抓取起点中文网的小说信息 . 158 8.5 小结 . 161 第 9章 Beautiful Soup库. 162 9.1 Beautiful Soup简介 162 9.2 Beautiful Soup基础 162 9.2.1 安装 Beautiful Soup 163 9.2.2 选择解析器 . 164 9.2.3 编写第一个 Beautiful Soup程序 164 9.3 节点选择器 . 165 9.3.1 选择节点 . 165 9.3.2 嵌套选择节点 167 9.3.3 选择子节点 . 168 9.3.4 选择父节点 . 171 9.3.5 选择兄弟节点 172 9.4 方法选择器 . 174 9.4.1 find_all方法 . 174 9.4.2 find方法 . 177 9.5 CSS选择器 . 178 9.5.1 基本用法 . 179 9.5.2 嵌套选择节点 180 9.5.3 获取属性值与文本 . 181 9.5.4 通过浏览器获取 CSS选择器代码. 182 9.6 实战案例:抓取租房信息 184 9.7 实战案例:抓取酷狗网络红歌榜 . 188 9.8 小结 . 191 第 10章 pyquery库 . 192 10.1 pyquery简介 . 192 10.2 pyquery基础 . 192 10.2.1 安装 pyquery . 193 10.2.2 pyquery的基本用法 193 10.3 CSS选择器 . 194 10.4 查找节点. 196 10.4.1 查找子节点 . 196 10.4.2 查找父节点 . 197 10.4.3 查找兄弟节点 198 10.4.4 获取节点信息 199 10.5 修改节点. 203 10.5.1 添加和移除节点的样式(addClass和 removeClass). 204 10.6 伪类选择器 . 208 10.7 项目实战:抓取当当图书排行榜 210 10.8 项目实战:抓取京东商城手机销售排行榜 213 第 4篇数据存储 11.1 打开文件 . 222 11.2 操作文件的基本方法 . 224 11.2.1 读文件和写文件 224 11.2.2 读行和写行 . 226 11.3 使用 FileInput对象读取文件 . 227 11.4 处理 XML格式的数据 . 228 11.4.1 读取与搜索 XML文件 . 228 11.4.2 字典转换为 XML字符串 . 229 11.4.3 XML字符串转换为字典 231 11.5 处理 JSON格式的数据 232 11.5.1 JSON字符串与字典互相转换 233 11.5.2 将 JSON字符串转换为类实例 234 11.5.3 将类实例转换为 JSON字符串 236 11.5.4 类实例列表与 JSON字符串互相转换 236 11.7 CSV文件存储 . 238 11.7.1 写入 CSV文件 238 11.7.2 读取 CSV文件 241 11.8 小结 241 第 12章数据库存储. 242 12.1 SQLite数据库 . 242 12.1.1 管理 SQLite数据库 . 243 12.1.2 用 Python操作 SQLite数据库 . 245 12.2 MySQL数据库 . 247 12.2.1 安装 MySQL . 247 12.2.2 在 Python中使用 MySQL 250 12.3 非关系型数据库 253 12.3.1 NoSQL简介 253 12.3.2 MongoDB数据库 . 253 12.3.3 pymongo模块 . 255 12.4 项目实战:抓取豆瓣音乐排行榜 256 12.5 项目实战:抓取豆瓣电影排行榜 260 12.6 小结 264 第 5篇爬虫高级应用 13.1 异步加载与 AJAX . 266 13.2 基本原理. 267 13.3 逆向工程. 270 13.4 提取结果. 274 13.5 项目实战:支持搜索功能的图片爬虫 . 274 13.6 项目实战:抓取京东图书评价 . 279 13.7 小结 284 第 14章可见即可爬:Selenium 285 14.1 安装 Selenium . 286 14.2 安装 WebDriver 286 14.2.1 安装 ChromeDriver 287 14.2.2 装 Edge WebDriver 288 14.2.3 安装其他浏览器的 WebDriver 289 14.3 Selenium的基本使用方法 . 289 14.4 查找节点. 293 14.4.1 查找单个节点 293 14.4.2 查找多个节点 295 14.5 节点交互. 297 14.6 动作链 298 14.7 执行 JavaScript代码 . 301 14.8 获取节点信息 302 14.9 管理 Cookies . 303 14.10 改变节点的属性值 . 304 14.11 项目实战:抓取 QQ空间说说的内容 . 306 14.12 小结 308 第 15章基于 Splash的爬虫 . 309 15.1 Splash基础 . 309 15.1.1 Splash功能简介 309 15.1.2 安装 Docker 310 15.1.3 安装 Splash . 310 15.2 Splash Lua脚本 312 15.2.1 第一个 Lua脚本 312 15.2.2 异步处理 . 313 15.2.3 Splash对象属性 314 15.2.4 go方法 . 318 15.2.5 wait方法 . 319 15.2.6 jsfunc方法 320 15.2.7 evaljs方法 320 15.2.8 runjs方法 . 320 15.2.9 autoload方法 321 15.2.10 call_later方法 . 322 15.2.11 http_get方法 . 323 15.2.12 http_post方法 . 324 15.2.13 set_content方法 325 15.2.14 html方法 325 15.2.15 png方法 326 15.2.16 jpeg方法 . 326 15.2.17 har方法 326 15.2.18 其他方法 . 327 15.3 使用 CSS选择器 . 331 15.3.1 select方法 331 15.3.2 select_all方法 . 332 15.4 模拟鼠标和键盘的动作 333 15.5 Splash HTTP API 334 15.6 项目实战:使用 Splash Lua抓取京东搜索结果 . 338 第 16章抓取移动 App的数据 . 341 16.1 使用 Charles . 341 16.1.1 抓取 HTTP数据包 . 342 16.1.2 安装 PC端证书 . 344 16.1.3 在手机端安装证书 . 345 16.1.4 监听 HTTPS数据包 . 346 16.2 使用 mitmproxy 348 16.2.1 安装 mitmproxy. 348 16.2.2 在 PC端安装 mitmproxy证书 349 16.2.3 在移动端安装 mitmproxy证书. 352 16.2.4 mitmproxy有哪些功能 353 16.2.5 设置手机的代理 353 16.2.6 用 mitmproxy监听 App的请求与响应数据 . 354 16.2.8 mitmdump与 Python对接 . 357 16.2.9 使用 mitmweb监听请求与响应 361 16.3 项目实战:实时抓取“得到” App在线课程 363 第 17章使用 Appium在移动端抓取数据 . 368 17.1.1 安装 Appium桌面端 368 17.1.2 配置 Android开发环境 370 17.1.3 配置 iOS开发环境 371 17.2 Appium的基本使用方法 . 372 17.2.1 启动 Appium服务 . 372 17.2.2 查找 Android App的 Package和入口 Activity. 374 17.3 使用 Python控制手机 App 379 17.4 AppiumPythonClient API. 380 17.4.1 初始化(Remote类) 380 17.4.2 查找元素 . 381 17.4.3 单击元素 . 381 17.4.4 屏幕拖动 . 382 17.4.5 屏幕滑动 . 382 17.4.6 拖曳操作 . 383 17.4.7 文本输入 . 383 17.4.8 动作链 383 17.5 项目实战:利用 Appium抓取微信朋友圈信息 384 第 18章多线程和多进程爬虫 389 18.1 线程与进程 . 389 18.1.1 进程 389 18.1.2 线程 390 18.2 Python与线程 . 390 18.2.1 使用单线程执行程序 . 390 18.2.2 使用多线程执行程序 . 391 18.2.3 为线程函数传递参数 . 393 18.2.4 线程和锁 . 394 18.3 高级线程模块(threading) . 395 18.3.1 Thread类与线程函数 . 395 18.3.2 Thread类与线程对象 . 396 18.3.3 从 Thread类继承 . 398 18.4 线程同步. 399 18.4.1 线程锁 400 18.4.2 信号量 402 18.5 生产者—消费者问题与 queue模块 405 18.6 多进程 407 18.7 项目实战:抓取豆瓣音乐 Top250排行榜(多线程版) 408 第 19章网络爬虫框架:Scrapy 413 19.1 Scrapy基础知识 . 413 19.1.1 Scrapy简介 . 413 19.1.2 Scrapy安装 . 414 19.1.3 Scrapy Shell抓取 Web资源 . 415 19.2 用 Scrapy编写网络爬虫 417 19.2.1 创建和使用 Scrapy工程 417 19.2.2 在 PyCharm中使用 Scrapy 419 19.2.3 在 PyCharm中使用扩展工具运行 Scrapy程序 . 421 19.3 Scrapy的高级应用 431 19.3.1 处理登录页面 431 19.3.2 处理带隐藏文本框的登录页面 . 434 19.3.3 通过 API抓取天气预报数据 436 19.3.4 从 CSV格式转换到 JSON格式 443 19.3.5 下载器中间件 447 19.3.6 爬虫中间件 . 452 19.3.7 Item管道 455 19.3.8 通用爬虫 . 465 19.4 小结 474 第 20章综合爬虫项目:可视化爬虫 475 20.1 项目简介. 475 20.2 主界面设计和实现 . 477 20.3 获取商品页数和每页商品数 . 478 20.4 并发抓取商品列表 . 479 20.5 数据库操作类 481 20.6 情感分析. 484 20.7 抓取和分析商品评论数据 485 20.8 可视化评论数据 486 20.9 小结 488 |
Python现在非常火爆。但 Python就和英语一样,如果只会 Python语言,就相当于只能用英语进行日常会话。然而,真正的英语高手 是可以作为专业领域翻译的,如 IT、金融、数学等专业领域。 Python也是一样,光学习 Python语言是不行的,要想找到更好的工 作,或得到更高的薪水,需要学会用 Python做某一领域的应用。 比较火爆,但绝对不是短时间可以掌握的。然后有一个领域与人工智能的火爆程度相当,但不像人工智能那样难入门,这就是爬虫领 域。 的数据,因为这些数据将成为很多应用的数据源。例如,著名的 Google搜索引擎,每天都会有数以亿计的查询请求,而搜索引擎为 这些请求返回的数据,都是来源于强大的爬虫。编写搜索引擎的第一步就是通过爬虫抓取整个互联网的数据,然后将这些数据库保存 到本地(以特定的数据格式),接下来就是对这些数据进行分析整理。然后才可以通过搜索引擎进行查询。虽然搜索引擎的实现技术 非常多,也非常复杂,但爬虫是 1,其他的所有技术都是 0,如果没有爬虫搜集数据,再强大的分析程序也毫无用武之地。 型,就需要大量与金字塔相关的图片进行训练。最简单的方式,就是使用百度或谷歌搜索金字塔图片,然后用爬虫抓取这些图片到本 地。这是利用了搜索引擎通过关键字分类的特性,并且重新利用了这些分类的图片。 的信息,以及进行数据可视化,甚至需要一个基于 UI的可视化爬虫。所以与爬虫有关的技术还是很多的。 书中分享笔者对 Python爬虫以及相关技术的理解和经验,帮助同行和感兴趣的朋友快速入门,并利用 Python语言编写各种复杂的爬 虫应用。笔者希望本书能起到抛砖引玉的作用,使读者对 Python爬虫以及相关技术产生浓厚的兴趣,并能成功进入 Python爬虫领域 。加油!高薪的工作在等着你们! 知识、常用网络库、常用分析库、数据存储技术、异步数据处理、可见即可爬技术、抓取移动 App、Scrapy等。本书还包含 20多个 真实的项目,以便让读者身临其境 地体验 Python爬虫的魅力。 书的学习,读者可以拥有进一步深入学习的能力,达到 Python爬虫高手的程度也只是时间问题。 薄之力。 |
清华大学出版社官方旗舰店
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格