python 爬虫程序详解
1 #!/usr/bin/python 使用魔法字符调用python
2
3 from sys import argv 导入sys是导入python解释器和他环境相关的参数
4 from os import makedirs,unlink,sep
os主要提供对系统路径,文件重命名和删除文件所需的函数
makedirs是创建递归文件夹的函数。比如说我们要创建一个新的目录,/python/HTML/crawl,但是目前这三个文件夹都不存在,如果使用mkdir命令的话需要使用三次才能完成,但是使用os.makedir只需使用一次就可以创建好整个目录。
os.makedirs(os.path.join(os.erviron["HOME"],"python","HTML","crawl")
os.unlink(path)删除file路径,和remove()相同。
sep os.sep系统用此来分割路径名
5 from os.path import dirname,exists,isdir,splitext
使用os中的这些模块来提取dirname路径名,exists,isdir是文件类型测试,测试是否是一个目录,splitext是将文件名和文件后缀分离。分成目录文件名和后缀两部分。
6 from string import replace,find,lower
导入string模块,用于字符串的替换,查找,和小写化。
7 from htmllib import HTMLParser
8 from urllib import urlretrieve
urlretrieve()函数用于将HTML文件整个下载到你的本地硬盘中去。
9 from urlparse import urlparse,urljoin
urlparse用于将URL分解成6个元素
而urljoin用于将baseurl和newurl组合在一起
10 from formatter import DumbWriter,AbstractFormatter
formatter函数主要用于格式化文本
11 from cStringIO import StringIO
调用cStringIO函数对内存中的文件进行处理
12
13 class Retriever:
Retriever类负责从网上下载网页并对每一个文档里面的连接进行分析,如果符合下载原则就添加到“待处理”队列中。从网上下载到的每个主页都有一个与之对应的Retriever实例。Retriever有几个帮助实现功能的方法,分别是:构造器(__init__()),filename(),download()和parseAndGetLinks()。
14 def __init__(self,url): 定义构造器,指向当前类的当前实例的引用。 self 指向新创建的
对象,另外一个参数是url.构造器实例化一个Retriever对象,并且把URL字符串和从filename()返回的与之对应的文件名保存为本地属性。
15 self.url=url
将url的值付给self.url
16 self.file=self.filename(url)
???
17 def filename(self,url,deffile="index
相关文档:
为了让UE支持python语言,google了很多,结果都不行,最后看了下面的博客才知道错哪了,总结下以免忘记。
http://wangtao.name/2009/12/20/ultraedit_python.html
在官网上找到python的扩展下载点:http://www.ultraedit.com/downloads/extras.html
有各种语言的扩展,便可以支持语法高亮。
python 2.5:http://www.u ......
一、如何能在命令行模式下运行Python命令?
为了在命令行模式下运行Python命令,需要将python.exe所在的目录附加到PATH这个环境变量中。
二、如何使Python解释器能直接import默认安装路径以外的第三方模块?
为了能import默认安装路径以外的第三方的模块(如自己写的模块),需要新建PYTHONPATH环境变量,环境变量的值设 ......
字典(Dictionary)是一种映射结构的数据类型,由无序的“键-值对”组成。字典的键必须是不可改变的类型,如:字符串,数字,tuple;值可
以为任何python数据类型。
1、新建字典
>>> dict1={}
#建立一个空字典
>>> type(dict1)
<ty ......
Python 用下划线作为变量前缀和后缀指定特殊变量。
_xxx
不能用'from module import *'导入
__xxx__ 系统定义名字
__xxx
类中的私有变量名
核心风格:避免用下划线作为变量名的开始。
因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序 ......
这两个基本上都是在循环的时候用。
Python
代码 < type="application/x-shockwave-flash" width="14" height="15" src="http://cloudhe.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" src="http://cloudhe.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=for%20i% ......