Python第一個程式小爬蟲

來源:互聯網
上載者:User

標籤: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第一個程式小爬蟲

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.