轉載請註明出處:http://blog.csdn.net/yiliumu/article/details/21335245
首先,我們先來看看,如果是人正常的行為,是如何擷取網頁內容的。 (1)開啟瀏覽器,輸入URL,開啟源網頁
(2)選取我們想要的內容,包括標題,作者,摘要,本文等資訊
(3)儲存到硬碟中
上面的三個過程,映射到技術層面上,其實就是:網路請求,抓取結構化資料,資料存放區。
我們使用Python寫一個簡單的程式,實現上面的簡單抓取功能。
[python] view plain copy #!/usr/bin/python #-*- coding: utf-8 -*- ''''' Created on 2014-03-16 @author: Kris ''' import urllib2, re, cookielib def httpCrawler(url): ''''' @summary: 網頁抓取 ''' content = httpRequest(url) title = parseHtml(content) saveData(title) def httpRequest(url): ''''' @summary: 網路請求 ''' try: ret = None SockFile = None request = urllib2.Request(url) request.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)') request.add_header('Pragma', 'no-cache') opener = urllib2.build_opener() SockFile = opener.open(request) ret = SockFile.read() finally: if SockFile: SockFile.close() return ret def parseHtml(html): ''''' @summary: 抓取結構化資料 ''' content = None pattern = '<title>([^<]*?)</title>' temp = re.findall(pattern, html) if temp: content = temp[0] return content def saveData(data): ''''' @summary: 資料存放區 ''' f = open('test', 'wb')