本节演示网络爬虫。它是按照一定的规则,自动地抓取万维网信息的程序或者脚本。
在本节的演示程序中,抓取Web的开始页面地址,下载与开始页面相同域名的后续链接页面。
实现代码:
- #-*-coding: utf-8-*-
- from sys import argv
- from os import makedirs, unlink, sep
- from os.path import dirname, exists, isdir, splitext
- from string import replace, find, lower
- from htmllib import HTMLParser # HTMLParser是用来解析html页面的,解析html页面中的链接?
- from urllib import urlretrieve
- from urlparse import urlparse, urljoin
- from formatter import DumbWriter, AbstractFormatter # DumbWriter将事件流转换为存文本文档?AbstractFormatter?
- from cStringIO import StringIO # StringIO是指在内存中读写字符串
- # 类Retrieve负责从web下载页面
- class Retrieve(object): # download Web pages
- def __init__(self, url):
- self.url = url
- self.file = self.filename(url)
- # filename()方法使用给定的url找出安全、有效的相关文件名并储存在本地
- def filename(self, url, deffile='index.html'):
- parsedurl = urlparse(url, 'http:', 0<