继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

幕布斯6054654
关注TA
已关注
手记 1135
粉丝 218
获赞 1009

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

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

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

一、基础知识

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

基本数据结构

数据类型

控制流

函数的使用

模块的使用

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

我刚整理了一套2018最新的0基础入门和进阶教程,无私分享,获取方法:加q u n 227-435-450 即可获取,内附:开发工具和安装包,以及系统学习路线图。

二、开发环境、

操作系统: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

webp

BeautifulSoup

pip install bs4

webp

pymongo

pip install pymongo

webp

selenium

pip install selenium

webp

Pillow

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

2、搜索找到“pillow”

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

webp

4、安装

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

webp

pytesseract

1、pip install pytesseract

2、安装tesseract

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

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

webp

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

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

webp

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

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


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

webp

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

webp

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



作者:小天真_5eeb
链接:https://www.jianshu.com/p/f75e58891d2d


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP