2.1开始第一个爬虫程序

点击进入下载链接

点击download选择相应平台及版本,我这里选择的是社区版。

下载界面

安装过程,切换主题,调整字体之类的都跟跟IDEA类似,不需赘述。

那么开始我们的hello world程序吧。
新建一个Python file ,然后写入

1
print ("hello world")

第一次运行在工作区右击 run即可

右击运行
之后就会在Toolbar上显示run按钮了

运行截图
很棒有木有

2.1 先爬他一个网页下来

敲入如下代码

1
2
3
4
import urllib2

response = urllib2.urlopen("http://www.baidu.com")
print response.read()

点击运行,我们可以得到结果

这个网页的源码被我们爬下来了,是不是很简单!

2.2 分析代码

下面我们来分析下这段代码

1
import urllib2

urllib2库是学习Python爬虫最基本的模块,利用这个模块我们可以得到网页的内容,并对内容用正则表达式提取分析,得到我们想要的结果

1
response = urllib2.urlopen("http://www.baidu.com")

首先我们调用的是urllib2库里面的urlopen方法,传入一个URL,这个网址是百度首页,协议是HTTP协议,urlopen一般接受三个参数,它的参数如下:

urlopen参数

第一个参数url即为URL,第二个参数data是访问URL时要传送的数据,第三个timeout是设置超时时间。

第二三个参数是可以不传送的,data默认为空None,timeout默认为 socket._GLOBAL_DEFAULT_TIMEOUT

第一个参数URL是必须要传送的,在这个例子里面我们传送了百度的URL,执行urlopen方法之后,返回一个response对象,返回信息便保存在这里面。

1
print response.read()

response对象有一个read方法,可以返回获取到的网页内容

2.3 构造Request

上面的urlopen参数可以传入一个request请求,它其实就是一个Request类的实例,构造时需要传入Url,Data等等的内容。我们可以将上面的代码改写为

1
2
3
4
5
import urllib2

request = urllib2.Request("http://www.baidu.com")
response = urllib2.urlopen(request)
print response.read()

运行结果是完全一样的,只不过中间多了一个request对象,推荐大家这么写,因为在构建请求时还需要加入好多内容,通过构建一个request,服务器响应请求得到应答,这样显得逻辑上清晰明确。

查看评论