码迷,mamicode.com
首页 > 编程语言 > 详细

Python第一个程序小爬虫

时间:2015-04-29 21:47:24      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:python   爬虫   

最近想上手Python。快速入门一门语言的方法就是写个小Demo。Python Demo必须是爬虫了。第一个小爬虫程序有些简陋,高手勿喷。

关于爬虫主要分为三个部分:根据队列中的URL爬取界面、获取内容、保存结果。

程序是以百度网站大全为种子URL,抓取页面中URL依次放入队列中,爬虫从URL队列依次取得新URL继续向外爬取。

# -*- coding: utf-8 -*-
import urllib2
import re
import thread
import time

class 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第一个程序小爬虫

标签:python   爬虫   

原文地址:http://blog.csdn.net/crbrave/article/details/45370951

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!