当前位置:   article > 正文

爬虫python软件准备_Python爬虫实战入门一:工具准备

爬虫的软件入门

可能你已经猜出来了,没错,每个 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.kuqin.com/abyteofpython_cn/、Python官方的《Python教程》http://python.usyiyi.cn/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

142052201_1_20180822052326629

BeautifulSoup

pip install bs4

142052201_2_20180822052326739

pymongo

pip install pymongo

142052201_3_20180822052326879

selenium

pip install selenium

142052201_4_20180822052327161

Pillow

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

2、搜索找到“pillow”

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

142052201_5_20180822052327208

4、安装

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

142052201_6_20180822052327317

pytesseract

1、pip install pytesseract

2、安装tesseract

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

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

142052201_7_20180822052327426

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

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

142052201_8_20180822052327473

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

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

https://github.com/python/cpython/blob/master/Lib/this.pyd = {}

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 算法,你要能很快想起来。

142052201_9_20180822052327645

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

142052201_10_20180822052327739

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/928066
推荐阅读
相关标签
  

闽ICP备14008679号