Python 爬虫教程
什么是爬虫?爬虫,也就是网络爬虫,可以理解为在网络上爬行的蜘蛛,互联网就好像一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到资源,那么它就会抓取下来。
为什么使用 Python 语言编写爬虫呢?相比于其他静态编程语言(如java,c#,C++),Python 语言学习非常简单,而且提供了较为完整的访问网页文档的 API 和各种成熟的爬虫框架。我们只需使用很少的代码就可以编写出高质量、大规模、分布式的爬虫过程项目。
1. 网页浏览的过程
在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过 DNS 服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTML、JS、CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了。因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些 HTML 代码,实现对图片、文字等资源的获取。
3. URL的含义
URL,即统一资源定位符,也就是我们说的网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL的格式由三部分组成: ①第一部分是协议(或称为服务方式)。 ②第二部分是存有该资源的主机IP地址(有时也包括端口号)。 ③第三部分是主机资源的具体地址,如目录和文件名等。
爬虫爬取数据时必须要有一个目标的 URL 才可以获取数据,因此,它是爬虫获取数据的基本依据,准确理解它的含义对爬虫学习有很大帮助。
4. 开发环境的配置
学习 Python,当然少不了环境的配置,可以使用任何的一种文本编辑器,比如vi,Notepad++,Editplus等等,不过它们的提示功能实在是太弱了。在 Windows 或者 Mac 下推荐使用免费的社区版 PyCharm,在Linux下可以使用 Eclipse for Python,另外还有几款比较优秀的IDE,大家可以参考这篇文章 学习Python推荐的IDE 。
怎样爬取网页数据呢?就是通过 URL 从网站上来获取特定内容。“网页数据” 是网站用户体验的一部分,比如网页上的文字,图像,声音,视频和动画等,都算是网页数据。python 的 urllib2 库提供了访问网页数据的接口 API,我们可以使用这些 API 来爬取网页内容。