用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

heshenhan 2018-05-03

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

1、 python爬虫可以爬取大规模数据。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。基本上可以负责任地认为,Python 可以做任何事情。无论是从入门级选手到专业级数据挖掘、科学计算、python爬虫、web开发、图像处理、人工智能,Python 都可以胜任。或许是因为这种万能属性,周围好更多的小伙伴都开始学习 Python。

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

前言:

这个没什么手艺难度,懂爬虫的人和轨范员都可以用学的说话写出来

只是良多安然问题的存在,几乎影响着我们的糊口,

希望大师可以熟悉到一些网站的后台密码的轨则与本身的安然性

简单的说,就是是轨范员的懒,让用户的信息吐露在互联网上

还有一点:

就是希望正在接触python,和快要抛却进修的同窗,可以试试换种思绪,

来试试爬虫,如许有造诣感的累积,可以渐渐晋升你的自傲

爬虫起头前的预备:

  • python2.7

  • 库文件(xlwt,urllib2,BeautifulSoup4,xlrd)

安装库文件的编制:

最好在你的python2.7/script/下面翻开power shell(可以shift+右击) 实行下面的:

安装库文件:

pip install *** ***是指上面的库文件,下面不必定都用,只需上面的,往后出什么错,你就继续pip install

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

不雅观不雅观察网站构造(密码轨则):

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

  • 首先这个轨则是针对大二和已经毕业了的

  • 密码轨则没有添加验证码(其实添加验证码也没什么用,只是添加了爬取门槛)

  • 轨则是 用户名==密码

    适宜前提

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

  • 这里的用户信息

  • 不要在意这些细节(马赛克) 朦胧美不息是我的寻求

详细思绪:
模仿上岸 ==》建造学号轨则==》信息查询(爬取)==》存入xls
模仿上岸:
由于我们是用爬虫守信息,每次访谒,
  1. 必定是上岸了往后才可以访谒我们的信息 ==》模仿上岸

  2. 当我们用剧本访谒下一个页面,必要一个cookie信息,就比如,当你翻开

    qq空间,其实是想腾讯那儿那里提交了本身的信息,而我们的信息就存在cookie中

  • python 中cookie维持会话访谒:

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

  • 模仿上岸

详细网址不分享,按捺带来不必要的费事

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

  • 学号的列表

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

  • 用户信息的获取

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

这里用的的是beautifulsoup库

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

  • 写入xls(这个是思绪)测试用的函数

  • Python语言基础:掌握Python脚本、Python界面编程能力、掌握数据库、掌握基本爬虫、掌握多线程多进程开发能力,能胜任基本的Python开发工作。

Python爬虫:掌握Python爬虫技术、掌握多线程爬虫技术、掌握分布式爬虫技术,能胜任爬虫工作

由于在写的时辰由于编码问题,不能写入中文

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

  • 起头步履:

  • 添加上耽误访谒: time.sleep(1)

  1. 由于爬虫访谒的不和人一样,访谒会很快,

  2. 如答应以按捺被封ip 还有按捺给站点带来不好的影响

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

Python web开发:掌握前端知识、掌握Python三大后端框架、独立开发网站,能胜任web全栈开发工作。

局部截图:

学号轨则很好找的,如许就获取半个的call和qq啦,至于能干嘛

用Python爬取整个学院MM的电话和QQ,爬虫这也太牛了!

下面分享一个正则小知识点。正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能不一样,不过只要学会了任意一门语言的正则表达式用法,其他语言中大部分也只是换了个函数的名称而已,本质都是一样的。下面,我来介绍一下python中的正则表达式是怎么使用的。

首先,python中的正则表达式大致分为以下几部分:

    1. 元字符

    2. 模式

    3. 函数

    4. re 内置对象用法

    5. 分组用法

    6. 环视用法

所有关于正则表达式的操作都使用 python 标准库中的 re 模块。

一、元字符 (参见 python 模块 re 文档)

    • . 匹配任意字符(不包括换行符)

    • ^ 匹配开始位置,多行模式下匹配每一行的开始

    • $ 匹配结束位置,多行模式下匹配每一行的结束

    • * 匹配前一个元字符0到多次

    • + 匹配前一个元字符1到多次

    • ? 匹配前一个元字符0到1次

    • {m,n} 匹配前一个元字符m到n次

    • \\ 转义字符,跟在其后的字符将失去作为特殊元字符的含义,例如\\.只能匹配.,不能再匹配任意字符

    • [] 字符集,一个字符的集合,可匹配其中任意一个字符

    • | 逻辑表达式 或 ,比如 a|b 代表可匹配 a 或者 b

    • (...) 分组,默认为捕获,即被分组的内容可以被单独取出,默认每个分组有个索引,从 1 开始,按照"("的顺序决定索引值

    • (?iLmsux) 分组中可以设置模式,iLmsux之中的每个字符代表一个模式,用法参见 模式 I

    • (?:...) 分组的不捕获模式,计算索引时会跳过这个分组

    • (?P<name>...) 分组的命名模式,取此分组中的内容时可以使用索引也可以使用name

    • (?P=name) 分组的引用模式,可在同一个正则表达式用引用前面命名过的正则

    • (?#...) 注释,不影响正则表达式其它部分,用法参见 模式 I

    • (?=...) 顺序肯定环视,表示所在位置右侧能够匹配括号内正则

    • (?!...) 顺序否定环视,表示所在位置右侧不能匹配括号内正则

    • (?<=...) 逆序肯定环视,表示所在位置左侧能够匹配括号内正则

    • (?<!...) 逆序否定环视,表示所在位置左侧不能匹配括号内正则

    • (?(id/name)yes|no) 若前面指定id或name的分区匹配成功则执行yes处的正则,否则执行no处的正则

    • \number 匹配和前面索引为number的分组捕获到的内容一样的字符串

    • \A 匹配字符串开始位置,忽略多行模式

    • \Z 匹配字符串结束位置,忽略多行模式

    • \b 匹配位于单词开始或结束位置的空字符串

    • \B 匹配不位于单词开始或结束位置的空字符串

    • \d 匹配一个数字, 相当于 [0-9]

    • \D 匹配非数字,相当于 [^0-9]

    • \s 匹配任意空白字符, 相当于 [ \t\n\r\f\v]

    • \S 匹配非空白字符,相当于 [^ \t\n\r\f\v]

    • \w 匹配数字、字母、下划线中任意一个字符, 相当于 [a-zA-Z0-9_]

    • \W 匹配非数字、字母、下划线中的任意字符,相当于 [^a-zA-Z0-9_]

好了,今天的知识就分享到这里,欢迎关注爱编程的南风,私信关键词:学习资料,获取更多学习资源,如果文章对你有有帮助,请收藏关注,在今后与你分享更多学习python的文章。同时欢迎在下面评论区留言如何学习python。

相关推荐