標籤:python 爬蟲
最近想上手Python。快速入門一門語言的方法就是寫個小Demo。Python Demo必須是爬蟲了。第一個小爬蟲程式有些簡陋,高手勿噴。
關於爬蟲主要分為三個部分:根據隊列中的URL爬取介面、擷取內容、儲存結果。
程式是以百度網站大全為種子URL,抓取頁面中URL依次放入隊列中,爬蟲從URL隊列依次取得新URL繼續向外爬取。
# -*- coding: utf-8 -*-import urllib2import reimport threadimport timeclass HTML_Spider: def __init__(self): self.url = [] #根據隊列中的URL爬取介面 def GetPage(self,url): try: myResponce = urllib2.urlopen(url) myPage = myResponce.read() myUrl = re.findall(‘href="(.*?)"‘,myPage,re.S) self.url.extend(myUrl); except: print u‘當前URL不合法‘ myPage = ‘ ‘ return myPage #以HTML的形式儲存介面 def SavePage(self,page): if page != ‘ ‘: #以時間戳記的形式為檔案命名 f = open(time.strftime(str(time.time()),time.localtime(time.time()))+‘.html‘,‘w+‘)#解決pagenama問題,最好採用儲存時間命名 f.write(page) f.close() #保持URL隊列 def StartSpider(self): i = 1 while 1: if i == 1: url = u‘http://site.baidu.com/‘ else: url = self.url[i] i += 1 print url page = self.GetPage(url) self.SavePage(page)#程式main函數 print u‘開始爬取頁面:‘ raw_input(" ")mySpider = HTML_Spider() mySpider.StartSpider()
Python第一個程式小爬蟲