在进行真正的爬虫工程创建之前,我们先要明确我们所要操作的对象是什么?完成所有操作之后要获取到的数据或信息是什么?
首先是第一个问题:操作对象,爬虫全称是网络爬虫,顾名思义,它所操作的对象当然就是网页,由于网维网存在的网页数不胜数,所以我们需要指定爬虫对象需要借助URL来定位所要操作的网页。
一、预备知识:
1.访问网页的具体流程:
在用户浏览网页的过程,其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTML、JS、CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了。 因此,用户看到的网页实质是由HTML代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些HTML代码,实现对图片、文字等资源的获取。
2.URL:
全称是统一资源定位符,是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
一个URL格式由三部分信息组成:
a.第一部分是协议(或称为服务方式);
b.第二部分是存有该资源的主机IP地址(有时也包括端口号);
c.第三部分是主机资源的具体地址,如目录和文件名等。
爬虫爬取数据时必须要有一个目标的URL才可以获取数据,因此,URL是爬虫获取数据的基本依据。
二、创建爬虫脚本:
创建一个爬虫脚本其实就是创建一个Python,这里我们创建一个名为test.py的脚本,然后把urllib2库导入到脚本中,然后爬取一个url地址的内容并打印出来,脚本内容如下:
脚本创建完毕后,在命令行中定位到当前脚本的目录,然后运行指令:
这样,在urlopen中所输入的地址所指定的网页内容就被打印出来,注意要打印response.read()的内容而不是直接打印response。这是因为urlopen其实只是打开一个URL地址,而真正读取被打开地址内容,是通过read方法来实现的。
可以进行简单的封装,得到一个获取指定url的html内容的方法,如下: