[原创]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中shape计算矩阵的方法示例
Apr 21 Python
利用python编写一个图片主色转换的脚本
Dec 07 Python
全面了解Nginx, WSGI, Flask之间的关系
Jan 09 Python
解读python logging模块的使用方法
Apr 17 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
Python 实现自动获取种子磁力链接方式
Jan 16 Python
Python ArgumentParse的subparser用法说明
Apr 20 Python
如何实现更换Jupyter Notebook内核Python版本
May 18 Python
Python sorted对list和dict排序
Jun 09 Python
python爬虫泛滥的解决方法详解
Nov 25 Python
如何利用python正则表达式匹配版本信息
Dec 09 Python
Python实现FTP文件定时自动下载的步骤
Dec 19 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 获得汉字拼音首字母的函数
2009/08/01 PHP
PHP 程序员应该使用的10个组件
2009/10/31 PHP
PHP备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
Javascript 入门基础学习
2010/03/10 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
在vue项目中使用md5加密的方法
2018/09/14 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
js实现碰撞检测
2021/01/29 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
详解python之heapq模块及排序操作
2019/04/04 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
python装饰器代码深入讲解
2021/03/01 Python
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
小学生班会演讲稿
2014/01/09 职场文书
30年同学聚会感言
2014/01/30 职场文书
三查三看党性分析材料
2014/02/18 职场文书
八项规定整改方案
2014/02/21 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
深度学习详解之初试机器学习
2021/04/14 Python
vue实现同时设置多个倒计时
2021/05/20 Vue.js
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android