[原创]python爬虫(入门教程、视频教程)


Posted in Python onJanuary 08, 2018

python的版本经过了python2.x和python3.x等版本,无论哪种版本,关于python爬虫相关的知识是融会贯通的,三水点靠木关于爬虫这个方便整理过很多有价值的教程,小编通过本文章给大家做一个关于python爬虫相关知识的总结,以下就是全部内容:

python爬虫的基础概述

1.什么是爬虫

网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。这样看来,网络爬虫就是一个爬行程序,一个抓取网页的程序。网络爬虫的基本操作是抓取网页。

2.浏览网页的过程

在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如http://image.baidu.com/,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器HTML、JS、CSS等文件,浏览器解析出来,用户便可以看到形形色色的图片了。
因此,用户看到的网页实质是由HTML代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些HTML代码,实现对图片、文字等资源的获取。

3.URL的含义

URL,即统一资源定位符,也就是我们说的网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

URL的格式由三部分组成:

①第一部分是协议(或称为服务方式)。

②第二部分是存有该资源的主机IP地址(有时也包括端口号)。

③第三部分是主机资源的具体地址,如目录和文件名等。

爬虫爬取数据时必须要有一个目标的URL才可以获取数据,因此,它是爬虫获取数据的基本依据,准确理解它的含义对爬虫学习有很大帮助。

4.环境的配置

学习Python,当然少不了环境的配置,最初我用的是Notepad++,不过发现它的提示功能实在是太弱了,于是,在Windows下我用了PyCharm,在Linux下我用了EclipseforPython,另外还有几款比较优秀的IDE,大家可以参考这篇文章学习Python推荐的IDE。好的开发工具是前进的推进器,希望大家可以找到适合自己的IDE

分享一下关于Python环境搭建教程大家可以参考:

windows

Linux

Urllib库的使用

Urllib是python内置的HTTP请求库,包括以下模块urllib.request 请求模块、urllib.error 异常处理模块、urllib.parse url解析模块、urllib.robotparser robots.txt解析模块,三水点靠木为大家整理了关于Urllib库的一些教程:

URLError异常处理

这个是学习python爬虫的第三个大知识点,下面详细的相关教程:

Cookie的使用

Cookie 模块,顾名思义,就是用来操作Cookie的模块。Cookie这块小蛋糕,玩过Web的人都知道,它是Server与Client保持会话时用到的信息 切片。 Http协议本身是无状态的,也就是说,同一个客户端发送的两次请求,对于Web服务器来说,没有直接的关系。既然这样,有人会问,既然Http是无状态 的, 为什么有些网页,只有输入了用户名与密码通过验证之后才可以访问?那是因为:对于通过身份验证的用户,Server会偷偷的在发往Client的数据中添 加 Cookie,Cookie中一般保存一个标识该Client的唯一的ID,Client在接下来对服务器的请求中,会将该ID以Cookie的形式一并 发往Server,Server从回传回来的Cookie中提取ID并与相应的用户绑定起来,从而实现身份验证。说白了,Cookie就是一个在服务器与客户端之间相互传递的字符串。以下是三水点靠木为大家整理关于python爬虫学习中对Cookie的处理教程:

正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容就易如反掌了。

正则表达式的大致匹配过程是:

1.依次拿出表达式和文本中的字符比较,

2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。

3.如果表达式中有量词或边界,这个过程会稍微有一些不同。

下面是关于Python爬虫中关于正则表达式的相关教程:

Beautiful Soup的用法

简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:

Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

以上就是我们为大家在学习python爬虫中需要了解各5大知识点,并且为大家整理了关于5大知识点的相关详细教程,下面我们为大家整理了相关python爬虫的视频教程,也希望同样帮助到大家:

这是一套目前为止小编觉得最适合小白学习的体系非常完整的Python爬虫课程,使用的Python3.6的版本,用到anaconda来开发python程序,老师讲解的很细致,课程体系设置的也非常棒,完全是从浅入深一点点讲解,从Python爬虫环境的安装开始,讲解了最最基本的urllib包如何使用,如何解析request请求内容,刷选有用数据,像ajax,post,html,json等等都非常细致的一一讲解,然后逐步深入到如何利用cookie,ip代{过}{滤}理池的技术,来解决登陆验证与防止被封等等技巧,最后通过学习python爬虫框架与分布式技术来搭建一个高可用的爬虫系统,从一个小demo到一套完整系统需要的技术体系一点点就掌握了。同时老师也配合多个案例来实际演练操作,像猫眼、淘宝、今日头条等等,无论移动端、PC端的内容爬去都有涉及,纯实战演练,我想这应该是最最适合同学学习的课程了。

关于python爬虫相关的电子书分享:

作为使用Python来爬取网络数据的杰出指南,讲解了从静态页面爬取数据的方法以及使用缓存来管理服务器负载的方法。此外,本书还介绍了如何使用AJAX URL和Firebug扩展来爬取数据,以及有关爬取技术的更多真相,比如使用浏览器渲染、管理cookie、通过提交表单从受验证码保护的复杂网站中抽取数据等。本书使用Scrapy创建了一个高级网络爬虫,并对一些真实的网站进行了爬取。

爬虫最主要的处理对象就是URL,他根据URL地址取得所需要的文件内容,然后对它进行一步的处理。因此,准确的理解URL对理解网络爬虫至关重要。

本文档主要讲述的是python爬虫实战;Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。

到此小编为广大寻找python爬虫相关教程的读者们整理了以上精选的全部内容,希望能够帮助到大家。如果大家还有任何关于python爬虫的任何疑问可以在下方的留言区讨论,感谢你对三水点靠木的支持。

Python 相关文章推荐
python中如何使用正则表达式的集合字符示例
Oct 09 Python
python实现定时提取实时日志程序
Jun 22 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
Django管理员账号和密码忘记的完美解决方法
Dec 06 Python
关于python字符串方法分类详解
Aug 20 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
Aug 28 Python
通过celery异步处理一个查询任务的完整代码
Nov 19 Python
Python利用全连接神经网络求解MNIST问题详解
Jan 14 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 Python
Python字符串查找基本操作代码案例
Oct 27 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
Dec 31 Python
python数据抓取3种方法总结
Feb 07 Python
小米5s微信跳一跳小程序python源码
Jan 08 #Python
Python实现判断字符串中包含某个字符的判断函数示例
Jan 08 #Python
Python实现的字典值比较功能示例
Jan 08 #Python
python基础之包的导入和__init__.py的介绍
Jan 08 #Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 #Python
微信跳一跳自动运行python脚本
Jan 08 #Python
python3实现跳一跳点击跳跃
Jan 08 #Python
You might like
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
php利用事务处理转账问题
2015/04/22 PHP
js活用事件触发对象动作
2008/08/10 Javascript
JQuery中$之选择器用法介绍
2011/04/05 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
JavaScript每天必学之基础知识
2016/09/17 Javascript
通过fastclick源码分析彻底解决tap“点透”
2017/12/24 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
如何利用nodejs自动定时发送邮件提醒(超实用)
2020/12/01 NodeJs
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
Python生成验证码实例
2014/08/21 Python
python控制台中实现进度条功能
2015/11/10 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
python字符串格式化方式解析
2019/10/19 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
python实例化对象的具体方法
2020/06/17 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
优纳科技软件测试面试题
2012/05/15 面试题
中学家长会邀请函
2014/01/17 职场文书
运动会跳远广播稿
2014/02/04 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
聚美优品广告词改编
2014/03/14 职场文书
干部作风建设心得体会
2014/10/22 职场文书
2014小学年度工作总结
2014/12/20 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js