分享

Python爬虫实战入门一:工具准备

 静幻堂 2018-08-22
菜鸟学Python 2018-08-22 14:11:31

可能你已经猜出来了,没错,每个 Pythoneer 都知道的彩蛋,在交互式命令行输入import this,会有一段 Python 之禅格言,作者是内核开发者 Tim Peters, Guido 叔的 Python 语言设计指导原则浓缩为了 19 条开发哲学。

这段加密文本并不是我故弄玄虚,而是this 模块中的源代码,使用下面这个算法就可以解密出来

https://github.com/python/cpython/blob/master/Lib/this.py

一、基础知识

使用Python编写爬虫,当然至少得了解Python基本的语法,了解:

  • 基本数据结构
  • 数据类型
  • 控制流
  • 函数的使用
  • 模块的使用

不需要过多过深的Python知识,仅此而已。

个人推荐《Python简明教程》http://www./abyteofpython_cn/、Python官方的《Python教程》http://python./translate/python_352/tutorial/index.html

二、开发环境、

  • 操作系统:Windows 7
  • Python版本:Python 3.4
  • 代码编辑运行环境:个人推荐PyCharm社区版,当然,Python自带的IDLE也行,Notepad++亦可,只要自己使用得习惯。

三、第三方依赖库

  • requests:一个方便、简洁、高效且人性化的HTTP请求库
  • BeautifulSoup:HTML解析库
  • pymongo:MongoDB的Python封装模块
  • selenium:一个Web自动化测试框架,用于模拟登录和获取JS动态数据
  • pytesseract:一个OCR识别模块,用于验证码识别
  • Pillow:Python图像处理模块

四、第三方库安装:

上面列出的第三方模块大多可以通过pip install ××的方式直接安装,部分模块安装方式不一样,下面一一演示:

requests

pip install requests

Python爬虫实战入门一:工具准备

BeautifulSoup

pip install bs4

Python爬虫实战入门一:工具准备

pymongo

pip install pymongo

Python爬虫实战入门一:工具准备

selenium

pip install selenium

Python爬虫实战入门一:工具准备

Pillow

1、打开http://www.lfd./~gohlke/pythonlibs/

2、搜索找到“pillow”

3、根据自己系统的版本选择对应的下载包

Python爬虫实战入门一:工具准备

4、安装

pip install Pillow‑4.0.0‑cp34‑cp34m‑win32.whl

Python爬虫实战入门一:工具准备

pytesseract

1、pip install pytesseract

2、安装tesseract

下载并安装:https://tesseract-ocr./files/tesseract-ocr-setup-3.02.02.exe

这样,我们的准备工作就基本完成,如果有另外的需求,在实战中再进行安装,接下来就可以实战Python爬虫了。

Python爬虫实战入门一:工具准备

文末知识点摘要:《import this》背后的故事

大家猜猜下面这段文本是什么意思,看起来好像挺熟悉的。

Python爬虫实战入门一:工具准备

可能你已经猜出来了,没错,每个 Pythoneer 都知道的彩蛋,在交互式命令行输入import this,会有一段 Python 之禅格言,作者是内核开发者 Tim Peters, Guido 叔的 Python 语言设计指导原则浓缩为了 19 条开发哲学。

这段加密文本并不是我故弄玄虚,而是this 模块中的源代码,使用下面这个算法就可以解密出来

https://github.com/python/cpython/blob/master/Lib/this.py

d = {}

for c in (65, 97):

for i in range(26):

d[chr(i+c)] = chr((i+13) % 26 + c)

print("".join([d.get(c, c) for c in s]))

这究竟是个什么算法?

>>> chr(97)

'a'

>>> chr(65)

'A'

65 是大写 A 的十进制表示法,97 是小写 a 的十进制表示法。字典 d 最终会构成这样一个映射表

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

| |

NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm

26个字母从A映射到N、B映射到O、依此类推到M映射到Z,然后反转,N映射到A、O映射到B、Z映射到M,26个小写字母也是同样的机制,这就是 ROT13 密码算法。以后要是有面试官要你徒手写个 ROT 算法,你要能很快想起来。

Python爬虫实战入门一:工具准备

ROT13(回转13位)是一种替换式密码,属于对称加密,加密和解密同一套算法,而且密钥都一样,它是凯撒加密的一种变体。一段文字按照字母顺序只需把当前字母用13位之后的对应字母进行替代,超过第13位的字母(从N开始)则重新绕回到字母表的开头即可。而对于非字母字符还是保持原样不变。于是,文章开头的文本经过 ROT13 转换,就是我们平常最熟悉的 Python 之禅:

Python爬虫实战入门一:工具准备

关于import this 这个彩蛋的来由以及 《The Zen of Python》 的历史故事,是发生在一次 Pycon 大会上,主办方想给大会定一个 Slogan 印在T恤上,然后大家奇思异想,最后几百候选名单出选出了 import this,紧接着这个彩蛋放在了 Python 2.2.1 发布。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多