欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

爬虫实战1--抓取糗事百科段子

来源:本站整理 作者:佚名 时间:2017-08-19 TAG: 我要投稿
        #根据页面代码,返回段子列表
        def getPageItems(self,pageIndex):
            pageCode = self.getPage(pageIndex)
            if not pageCode:
                print "页面加载失败。。。"
                return None
            pattern = re.compile('h2>(.*?)</h2.*?<span>(.*?)</.*?number">(.*?)</.*?number">(.*?)<', re.S)
            #pattern = re.compile('h2>(.*?)</h2.*?content">(.*?)</.*?number">(.*?)</', re.S)
            items = re.findall(pattern,pageCode)
            #用来存储每页的段子
            pageStories = []
            #遍历正则表达式匹配的信息
            for item in items:
                pageStories.append([item[0].strip(),item[1].strip(),item[2].strip(),item[3].strip()])
            return pageStories
        #加载并提取页面的内容,加入到列表中
        def loadPage(self):
            #如果当前未看的页数少于两页,则加载新一页
            if self.enable == True:
                if len(self.stories) < 2:
                    #获取新一页
                    pageStories = self.getPageItems(self.pageIndex)
                    #将该页面存放在全局list中
                    if pageStories:
                        self.stories.append(pageStories)
                        #页码索引加一
                        self.pageIndex += 1
        #调用该方法,每次回车输出一个段子
        def getOneStory(self,pageStories,page):
            #遍历
            for story in pageStories:
                #等待用户输入
                input = raw_input()
                #判断是否要加载新页面
                self.loadPage()
                #输入"quit"则程序结束
                if input == "quit":
                    self.enable =  False
                    return
                print u"第%d页\n----------------------------------------\n发布人:%s\n内容:%s\n赞:%s\t评论数:%s\n"%(page,story[0],story[1],story[2],story[3])
        #开始方法
        def start(self):
            print u"正在读取,回车查看新段子,quit退出"

上一页  [1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载