《Python爬虫开发与项目实战》——导读

简介: 从写书的那一刻开始,我就知道在书写完之前,我应该是没有周末了。这本书写了大半年的时间,由于我平时有写笔记、做总结的习惯,因此写书的时间不是特别长,不过直到2017年年初我依然在更新内容,毕竟爬虫技术更新得比较快,我努力将比较新的知识贡献给大家。


screenshot


**
前言
**
当你看前言的时候,不得不说你做出了一个聪明的选择,因为前言中有作者对整本书的概括和学习建议,这会对大家之后的阅读产生事半功倍的效果。在聊这本书之前。大家可以在Github中对不懂的内容进行提问,我会尽可能地帮助大家解决问题。其实在前言开头放这个链接是挺突兀的,不过确实是担心大家不会完整地看完前言。
  接下来聊一聊这本书,写这本书的原因来自于我个人的微信公众号:七夜安全博客。我经常在博客园、知乎和微信平台上发布技术文章,分享一些知识和见解,有很多热心的朋友愿意和我进行交流讨论。记得2016年4月初的某一天,有一个朋友在微信后台留言,问我怎样将Python爬虫技术学好,有什么书籍可以推荐。我当时回答了好长一段建议,但是那个朋友依然希望能推荐一本书籍帮助入门和提高。其实我特别能理解初学者的心情,毕竟我也是从初学者走过来的,但是确实挺纠结,不知从何推荐。于是,我专门找了一下这方面的书籍,只找到一本外国人写的书,中文版刚出版没多久,名字为《Python网络数据采集》。我花了半天看了一下里面的内容,整本书条理比较清晰,容易理解,但是很多知识点都谈得很浅,系统的实战项目基本上没有,更多的是一些代码片段,仅仅适合一些刚刚入门的朋友。自从这件事情以后,我就下定决心写一本Python爬虫方面的书籍,既然国内还没有人写这方面的书籍,我愿意做一个抛砖引玉的人,帮助大家更好地学习爬虫技术。
  有了写书的想法后,开始列提纲,确定书的主题和内容。由于爬虫是一项实践性很强的技术,因此书的主题是以实战项目为驱动,由浅及深地讲解爬虫技术,希望你看这本书的时候是个菜鸟,认真学习完之后不再是个菜鸟,可以自主地开发Python爬虫项目了。从写书的那一刻开始,我就知道在书写完之前,我应该是没有周末了。这本书写了大半年的时间,由于我平时有写笔记、做总结的习惯,因此写书的时间不是特别长,不过直到2017年年初我依然在更新内容,毕竟爬虫技术更新得比较快,我努力将比较新的知识贡献给大家。
  在写书的过程中,我的内心变得越来越平静,越来越有耐心,不断地修改更新,对每个实战项目进行反复验证和敲定,尽可能地贴近初学者的需求,希望能帮助他们完成蜕变。
  最后做一下自我介绍,本人是一位信息安全研究人员,比较擅长网络安全、软件逆向,同时对大数据、机器学习和深度学习有非常浓厚的兴趣,欢迎大家和我交流,共同进步。
  前路多艰,学习的道路不可能一帆风顺,爬虫技术只是个开始,愿与诸君一道共克难关。

目录

[第1章 回顾Python编程
1.1 安装Python](https://yq.aliyun.com/articles/108786)
1.1.1 Windows上安装Python
1.1.2 Ubuntu上的Python
1.2 搭建开发环境
1.2.1 Eclipse+PyDev
1.2.2 PyCharm
1.3 IO编程
1.3.1 文件读写
1.3.2 操作文件和目录
1.3.3 序列化操作
1.4 进程和线程
1.4.1 多进程
1.4.2 多线程
1.4.3 协程
1.4.4 分布式进程
1.5 网络编程
1.5.1 TCP编程
1.5.2 UDP编程
1.6 小结
[第2章 Web前端基础
2.1 W3C标准](https://yq.aliyun.com/articles/108897)
2.1.1 HTML
2.1.2 CSS
2.1.3 JavaScript
2.1.4 XPath
2.1.5 JSON
2.2 HTTP标准
2.2.1 HTTP请求过程
2.2.2 HTTP状态码含义
2.2.3 HTTP头部信息
2.2.4 Cookie状态管理
2.2.5 HTTP请求方式
2.3 小结
[第3章 初识网络爬虫
3.1 网络爬虫概述 ](https://yq.aliyun.com/articles/108934)
3.1.1 网络爬虫及其应用
3.1.2 网络爬虫结构
3.2 HTTP请求的Python实现
3.2.1 urllib2/urllib实现
3.2.2 httplib/urllib实现
3.2.3 更人性化的Requests
3.3 小结

相关文章
|
9天前
|
前端开发 JavaScript 网络协议
深入理解Python Web开发中的前后端分离与WebSocket实时通信技术
【7月更文挑战第18天】前后端分离采用Flask/Django框架,前端JavaScript框架如Vue.js与后端通过AJAX/Fetch通信。WebSocket提供实时双向通信,Python可借助websockets库或Flask-SocketIO实现。最佳实践包括定义清晰的接口规范,确保安全性(HTTPS,认证授权),优化性能,和健壮的错误处理。结合两者,打造高效实时应用。
25 1
|
9天前
|
数据采集 存储 Java
如何让Python爬虫在遇到异常时继续运行
构建健壮Python爬虫涉及异常处理、代理IP和多线程。通过try/except捕获异常,保证程序在遇到问题时能继续运行。使用代理IP(如亿牛云)防止被目标网站封锁,多线程提升抓取效率。示例代码展示了如何配置代理,设置User-Agent,以及使用SQLite存储数据。通过`fetch_url`函数和`ThreadPoolExecutor`实现抓取与重试机制。
如何让Python爬虫在遇到异常时继续运行
|
2天前
|
JSON API 开发者
惊!Python Web开发新纪元,RESTful API设计竟能如此性感撩人?
【7月更文挑战第24天】在 Python Web 开发领域, RESTful API 设计成为一种艺术, 关注用户体验与开发者友好性。
21 7
|
4天前
|
数据采集 Web App开发 存储
Python-数据爬取(爬虫)
【7月更文挑战第24天】
31 7
|
3天前
|
JSON API 数据格式
深度剖析!Python Web 开发中 RESTful API 的每一个细节,你不可不知的秘密!
【7月更文挑战第23天】在Python Web开发中,RESTful API利用HTTP协议构建强大、灵活的应用。GET获取资源,如`/products/:id`;POST创建新资源;PUT更新;DELETE删除。正确使用状态码,如200、201、404、500,至关重要。JSON化数据与版本控制(如`/v1/products`)增强API实用性。认证(OAuth, JWT)保障安全性,而清晰的错误消息提升用户体验。掌握这些细节,方能设计出高性能、易用的RESTful API。
21 7
|
2天前
|
JSON API 数据库
从零到英雄?一篇文章带你搞定Python Web开发中的RESTful API实现!
【7月更文挑战第24天】在Python的Web开发领域,掌握RESTful API至关重要。利用Flask框架,可迅速搭建API,进行用户管理的CRUD操作。需先安装Flask (`pip install Flask`),然后定义路由处理GET、POST、PUT、DELETE请求,实现用户数据的检索、创建、更新和删除。
19 5
|
4天前
|
API 数据安全/隐私保护 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
【7月更文挑战第23天】Python的RESTful API设计在Web开发中流行,提升效率与体验。REST强调HTTP方法(GET, POST, PUT, DELETE)操作资源。使用Flask框架可快速实现API,如管理用户信息。示例代码展示如何创建、读取、更新和删除用户,通过不同HTTP方法和URL路径。实际应用中,增加验证、错误处理和权限控制可增强API的安全性和稳定性。安装Flask后,可运行代码测试API功能。
25 6
|
1天前
|
数据采集 存储 XML
高级网页爬虫开发:Scrapy和BeautifulSoup的深度整合
高级网页爬虫开发:Scrapy和BeautifulSoup的深度整合
|
4天前
|
数据采集 机器学习/深度学习 算法
Python-数据爬取(爬虫)
【7月更文挑战第23天】
26 5
|
1天前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
【7月更文挑战第26天】在 Web 开发中, SQL 注入与 XSS 攻击常令人担忧, 但掌握正确防御策略可化解风险. 对抗 SQL 注入的核心是避免直接拼接用户输入至 SQL 语句. 使用 Python 的参数化查询 (如 sqlite3 库) 和 ORM 框架 (如 Django, SQLAlchemy) 可有效防范. 防范 XSS 攻击需严格过滤及转义用户输入. 利用 Django 模板引擎自动转义功能, 或手动转义及设置内容安全策略 (CSP) 来增强防护. 掌握这些技巧, 让你在 Python Web 开发中更加安心. 安全是个持续学习的过程, 不断提升才能有效保护应用.
7 1