爬虫实战(1):直播吧网站的赛程表

来源:互联网 发布:nba2k17周琦捏脸数据 编辑:程序博客网 时间:2024/06/02 13:06

网站地址:直播吧
本来是想写糗事百科的。。但是不知道为什么总是被禁止。。于是就换了个直播吧。
本来以为直播吧的很好写。但是发现直播吧的源代码写的很混乱。相同的比赛,有的是重点比赛,有的不是,因此格式不一样。。。还有的会混着图片。时间大部分都用来处理这方面了。最终想到了用split方法来处理掉中间这些混着的空格,图片和重点比赛标志 。
代码如下:

import urllibimport urllib2import reclass zbb:    def __init__(self):        self.url='http://www.zhibo8.cc/index.html'        self.user_agent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0'        self.headers = {'User_Agent':self.user_agent}        self.request=urllib2.Request(self.url,headers=self.headers)    def run(self):        try:            response=urllib2.urlopen(self.request)            content=response.read().decode('utf-8')            patt=re.compile('<li label=".+?>(.+?)<a href')            data=re.findall(patt,content)            splits=re.compile('\s*?</b>\s*?<b>\s*|\s*?<b>\s*|\s*?</b>\s*|\s*?<img.+?>\s*|\s+')            if data is not None:                for x in data:                    y=re.split(splits,x)                    for i in range(len(y)):                        print y[i],                    print                print 'DONE!'            else:                print 'Not found!'        except urllib2.HTTPError, e:            print e.code        except urllib2.URLError, e:            print e.reasonazzb=zbb()azzb.run()
1 0
原创粉丝点击