• 爬取文本


    爬取糗事百科的段子:

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    import re
    import sys
    import urllib
    import urllib2
    
    # 获取HTML源码
    def getHTML(url):
        try:
            request = urllib2.Request(url, headers=headers)
            response = urllib2.urlopen(request)
            html = response.read().replace('<br/>', '
    ')
            return html
        except urllib2.URLError, e:
            if hasattr(e, 'code'):
                print '连接服务器失败,错误代码:%s' % e.code
            if hasattr(e, 'reason'):
                print '连接服务器失败,失败原因:%s' % e.reason
            else:
                print '连接服务器失败,失败原因:%s' % e
            sys.exit(1)
    
    # 从HTML源码中过滤出所有段子
    def getText(html):
        regular = re.compile(r'<div class="content">.*?<span>(.*?)</span>', re.S)
        result = re.findall(regular, html)
        return result
    
    if __name__ == '__main__':
    
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36',
        }
    
        result = []
        for i in range(1, 10):
            url = 'https://www.qiushibaike.com/text/page/' + str(i)
            html = getHTML(url)
            for item in getText(html):
                result.append(item)
        
        flag = 'y'
        for item in result:
            if flag == 'y':
                print '
    ' + item.decode('utf-8').strip() + '
    '
                flag = raw_input('Continue next clip? (y/n): ')
                continue
            else:
                break
    [root@localhost ~]$ python 1.py 
    
    儿子头发凌乱,捂着半边脸回来了,我问又跟谁打架了。
      儿子说不是打架,是挨打。
      我奇怪了,问道,咱这片儿地方还有敢打你的?
      儿子说:“甭提了,以前在咱隔壁住着的那个小女孩,我总欺负她,后来搬走了,没想到这些年她学了跆拳道,刚才在路上碰见我,二话不说就打了我一顿。”
      我叹了一口气道:“那你就不知道求饶?”
      儿子说:“咋没求饶?我都说饶了奴才吧,以前都是我混蛋,可她说没用,求饶有用的话姑奶奶还练跆拳道干啥?还说见一次打我一次。”
      我无语,只能说算你倒霉,看你以后还欺负人不?
    …
    
    Continue next clip? (y/n): y
    
    我妈说我小时候可爱表现,她有次去二姨家,回来的时候很担心家里的驴,进门就问:“喂驴没?”我为了抢功劳,冲在我姐前面喊:“驴喂了我!”
    
    Continue next clip? (y/n): y
    
    老公你疼我吗?疼啊,不疼你疼谁!
    那情人节你给我买什么?
    你特么傻了吧?你是我的情人?你是我老婆!
    
    Continue next clip? (y/n): y
    
    老爸和老妈旅游回来,带了几对很精致的水杯,我选了个特别喜欢的洗了,去倒水喝,老妈一把抢过去,瞪着我说:这个杯子不是你的,你没看都是情侣杯吗?我和你爸一对,你哥哥嫂嫂一对!
    我愣了楞,问老妈我的呢?老妈从柜子里扯出个袋子,拿出里面仅剩的一个一次性纸杯,递给我,说:你就用这个吧!我们几个都有杯子了,以后也不用买一次性杯子了,你省着点用,可别丢了啊!
    
    Continue next clip? (y/n): n

        

  • 相关阅读:
    【YBTOJ】【Luogu P2605】[ZJOI2010]基站选址
    【CodeForces 261D】Maxim and Increasing Subsequence
    【Luogu P4140】奇数国
    【YBTOJ】【Luogu P6474】[NOI Online #2 入门组] 荆轲刺秦王
    【YBTOJ】【Luogu P4667】[BalticOI 2011 Day1]Switch the Lamp On
    Tools分类随笔链接整理贴(不定期更新)
    Vs2012安装介绍
    VC 修改对话框默认类名
    扫雷小游戏_通过爆破手段强制胜利
    C++ STL(十)算法
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10373909.html
Copyright © 2020-2023  润新知