calendar 是与日历相关的模块,该模块定义了很多类型,主要包括:Calendar、TextCalendar、HTMLCalendar,其中 Calendar 是 TextCalendar 和 HTMLCalendar 的基类,这些类有着十分丰富的日历处理方法。
第68天:Selenium 环境配置
如果你做过 Web 测试的工作,那么你应该明白 Web 测试中最重要的一部分工作就是自动化测试。自动化测试,顾名思义就是让浏览器自动运行,而无需手动操作。这和我们爬虫工作原理有些相似,我们爬虫也需要让浏览器运行网址来获取我们需要的内容。所以我们今天来介绍一款自动化测试工具—— Selenium ,并将它运用到爬虫中来。
第69天:Selenium详解
Selenium 环境配置好之后,我们就可以使用 Selenium 来操作浏览器,做一些我们想做的事情了。在我们爬取网页过程中,经常发现我们想要获得的数据并不能简单的通过解析 HTML 代码获取,这些数据是通过 AJAX 异步加载方式或经过 JS 渲染后才呈现在页面上显示出来。这种情况下我们就可以使用 Selenium 来模拟浏览器浏览页面,进而解决 JavaScript 渲染的问题。
第34天:python json&pickle
在日常开发中,对数据进行序列化和反序列化是常见的数据操作,Python提供了两个模块方便开发者实现数据的序列化操作,即 json 模块和 pickle 模块。这两个模块主要区别如下:
- json 是一个文本序列化格式,而 pickle 是一个二进制序列化格式;
- json 是我们可以直观阅读的,而 pickle 不可以;
- json 是可互操作的,在 Python 系统之外广泛使用,而 pickle 则是 Python 专用的;
- 默认情况下,json 只能表示 Python 内置类型的子集,不能表示自定义的类;但 pickle 可以表示大量的 Python 数据类型。
第32天:Python logging 模块详解
This module defines functions and classes which implement a flexible event logging system for applications and libraries.
Python logging 模块定义了为应用程序和库实现灵活的事件日志记录的函数和类。
程序开发过程中,很多程序都有记录日志的需求,并且日志包含的信息有正常的程序访问日志还可能有错误、警告等信息输出,Python 的 logging 模块提供了标准的日志接口,可以通过它存储各种格式的日志,日志记录提供了一组便利功能,用于简单的日志记录用法。
- 使用 Python Logging 模块的主要好处是所有 Python 模块都可以参与日志记录
- Logging 模块提供了大量具有灵活性的功能
第58天: Web 开发 Django 入门
今天来为大家介绍 Python 另一个 Web 开发框架 Django,它是一个基于 Python 定制的开源 Web 应用框架,最早源于一个在线新闻 Web 网站,后于2005年开源。Django 的功能大而全,它提供的一站式解决的思路,能让开发者不用在开发之前就在选择应用的基础设施上花费大量时间。它有很多功能强大的第三方插件,可以使我们更快速、方便的开发一个网站。
第30天: Python collections 模块
第64天: XPath 和 lxml
XPath 和 lxml
XPath 全称为 Xml Path Language,即 Xml 路径语言,是一种在 Xml 文档中查找信息的语言。它提供了非常简洁的路径选择表达式,几乎所有的节点定位都可以用它来选择。
XPath 可以用于 Xml 和 Html,在爬虫中经常使用 XPath 获取 Html 文档内容。
lxml 是 Python 语言用 Xpath 解析 XML、Html文档功能最丰富的、最容易的功能模块。
第28天:Python 标准库之 sys 模块详解
Python sys 模块详解
1. 简介
“sys”即“system”,“系统”之意。该模块提供了一些接口,用于访问 Python 解释器自身使用和维护的变量,同时模块中还提供了一部分函数,可以与解释器进行比较深度的交互。
第44天: Web 开发 Bootstrap
前面学习了 Flask 框架的基本用法,以及模板引擎 Jinja2,按理说可以开始自己的 Web 之旅了,不过在启程之前,还有个重要的武器需要了解一下,就是著名的 Bootstrap 框架和 Flask 的结合,这将大大提高开发 Web 应用的效率。
第31天:python random
在本节中继续介绍 Python 提供的常用模块 random 模块,它的主要功能是用来生成伪随机数的。
第29天:Python queue 模块详解
queue 模块即队列,特别适合处理信息在多个线程间安全交换的多线程程序中。下面我们对 queue 模块进行一个详细的使用介绍。
第30天:python datetime&time
在前面的章节中已经介绍了一些 Python 常用的模块,本节再介绍两个模块 datetime 模块和 time 模块,这两个模块主要用于转换日期格式的功能。
第27天:Python shutil 模块
shutil 可以看作 sh + util,即 shell 工具之意,该模块提供了一些针对文件和文件夹的高级操作,如:拷贝、删除、移动等,shutil 模块是对 os 模块的补充。
第63天:正则表达式
正则表达式是一个特殊的字符串序列、一种模式,用来判断字符串是否符合这种模式,如:判断邮件地址是否有 @
符号,判断手机号是否正确等待。
基本语法
在正则表达式中,可以使用 \d
匹配数字,\w
匹配数字和子母,.
可以匹配除了换行符之外的任意字符,\s
匹配空白字符
第26天:Python 标准库之 os 模块详解
Python os 模块详解
1. 简介
os
就是“operating system”的缩写,顾名思义,os
模块提供的就是各种 Python 程序与操作系统进行交互的接口。通过使用os
模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性。如果该模块中相关功能出错,会抛出OSError
异常或其子类异常。
第33天:Python 枚举
enum
是一组绑定到唯一常数值的符号名称,并且具备可迭代性和可比较性的特性。我们可以使用 enum
创建具有良好定义的标识符,而不是直接使用魔法字符串或整数,也便于开发工程师的代码维护。
第24天:Python 标准库概览2
- Python 的标准库非常广泛,提供了各种各样的工具。该库包含内置模块(用C编写),可以访问系统功能,例如 Python 程序员无法访问的文件 I / O,以及用 Python 编写的模块,这些模块为许多问题提供标准化解决方案。其中一些模块明确地旨在通过将平台特定的内容抽象为平台中立的 API 来鼓励和增强 Python 程序的可移植性。
- Python 的标准库(standard library) 是 Python 的一个组成部分,也是 Python 的利器,它可以让编程事半功倍。
- Python 标准库第二部分涵盖的模块是包含在 Python 高级编程中,这一部分所涉及的模块很少运用在脚本中
第23天:Python 标准库概览1
- Python 的标准库非常广泛,提供了各种各样的工具。该库包含内置模块(用C编写),可以访问系统功能,例如 Python 程序员无法访问的文件 I / O,以及用 Python 编写的模块,这些模块为许多问题提供标准化解决方案。其中一些模块明确地旨在通过将平台特定的内容抽象为平台中立的 API 来鼓励和增强 Python 程序的可移植性。
- Python 的标准库(standard library) 是 Python 的一个组成部分,也是 Python 的利器,它可以让编程事半功倍。
- 本章节就 Python3 的标准库作一个轮廓概览,后续章节将对每个标准库模块进行详细 讲解
1、操作系统接口
1.1 os 模块简介
os 模块提供了很多与操作系统相关联的函数,这使得程序员们在编程的时候能利用函数便携操作,如果你希望你的程序能够与平台无关的话,运用这个模块中的功能就尤为重要。在使用 os 模块前,需要先 import os 引入模块。以下方法只做介绍,具体的应用可以使用 help(os) 查看帮助文档,最重要的是实际操作。
第56天:urllib 包基本使用
urllib 是一个 python 内置包,不需要额外安装即可使用,包里面包含了以下几个用来处理 url 的模块:
- urllib.request,用来打开和读取 url,意思就是可以用它来模拟发送请求,就像在浏览器里输入网址然后敲击回车一样,获取网页响应内容。
- urllib.error,用来处理 urllib.request 引起的异常,保证程序的正常执行。
- urllib.parse,用来解析 url,可以对 url 进行拆分、合并等。
- urllib.robotparse,用来解析 robots.txt 文件,判断网站是否能够进行爬取。
掌握以上四个模块,你就能对网站进行简单的爬虫操作,下面我们逐个介绍。