我从一个小项目学习Python编程的全过程(二)

   在(一)中的时候我们分析了如何获取所有人无忧币的统计情况,接下来开始学着写代码了:

首先第一步我们得把第一个页面的源代码:

#coding:utf-8  
import urllib   
url = 'http://home.51cto.com/index.php?s=/space/1'
content = urllib.urlopen(url).read()   
print content

通过简单的几行代码我们就能够得到这个页面的源程序代码了,打印出来看一下,如图:

image

第一行代码,看到#号我们知道这是一个注释,但是这个注释很特殊,他的作用是指定了utf-8的字符集。由于我们的代码中会涉及到中文,为了能使Python编译器正确识别中文字符,所以需要在代码顶部添加这样一段特殊的注释。

虽然#这个符号在python中表示注释,其实如果用pydev或者别的什么IDE来编写程序的时候,如果开头不声明保存编码格式,会默认使用ASKII码保存,那么代码中有中文就会有问题,即使你的中文是在注释里面。

关于注释的#号我们多提一些:

如果是在linux/unix系统中时,我们看别人的代码总有这样的开头:

#!/usr/bin/python
#Filename:XXX.py

在这两段代码中它被称作 组织行 ----源文件的头两个字符是#!,后面跟着一个程序。这行告诉你的Linux/Unix当执行你的程序的时候,它应该运行哪个解释器。

如果需要在代码中使用中文注释,必须在Python文件的最前面加上如我们所写的注释说明:#coding: UTF-8  

如果要输出中文,需要在文件最上面加上:# coding: gbk

关于中文处理的问题我发现只要我们使用国语的广大同胞起初都是一个很头痛的问题,等遇到关于中文乱码问题时,我再做一个系统的谈论关于文本编码的知识。

第二行代码就是同过import是用来导入相应的模块。模块其实就是一些函数和类的集合文件,类似于C中的include头文件,这里就是导入urllib模块。

第三行我们想要通过urllib模块中的urlopen(url [,data])函数打开一个HTML文档,这行我们提供该文档的URL地址。函数urlopen不仅可以打开位于远程web服务器上的文件,而 且可以打开一个本地文件,并返回一个类似文件的对象,我们可以通过该对象从HTML文档中读出数据。


第四行一旦打开了HTML文档,我们就可以像使用常规文件一样使用read([nbytes]),readline()和readlines()函数来对文件进行读操作。若要读取整个HTML文档的内容的话,您可以使用read()函数,该函数将文件内容作为字符串返回。

第五行输出。

想用文字解释清楚每一行看似很简单的代码真困难!!!!感觉用多少语言都无法表示清楚一样,不过这样学习到的东西真的很多j_0019.gif


下边一节来看看如何能把得到的源代码中提取出我们需要的信息:

image

我们要从大量的数据中找到无忧币这一块的区域并且把无忧币的数量单独的提取出来,我们要用到find()函数,find函数()能够查找到所要查找的位置并通过切片得到。

你可能感兴趣的:(编程,python,爬虫小项目)