团队-爬虫豆瓣top250项目-模块开发过程

项目托管平台地址:https://gitee.com/ningshuyoumeng/TuanDui-PaChongDouBantop250XiangMu-MoKuaiKaiFa

开发模块功能:

功获取页面的全部内容功能,开发时间:0.5天(小时),实现了获取豆瓣HTML的内容,实现过程是

def askURL(url):
    request = urllib2.Request(url)#发送请求
    try:
        response = urllib2.urlopen(request)#取得响应
        html= response.read()#获取网页内容
        #print html
    except urllib2.URLError, e:
        if hasattr(e,"code"):
            print e.code
        if hasattr(e,"reason"):
            print e.reason
    return html


获取相关内容功能,开发时间:3.5天(小时),实现了获取影片名,影片相关内容:导演,主演,年份,地区,类别等,实现过程是

def getData(baseurl):
    findLink=re.compile(r'<a href="(.*?)">')#找到影片详情链接
    findImgSrc=re.compile(r'<img.*src="(.*jpg)"',re.S)#找到影片图片
    findTitle=re.compile(r'<span class="title">(.*)</span>')#找到片名
    #找到评分
    findRating=re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
    #找到评价人数
    findJudge=re.compile(r'<span>(\d*)人评价</span>')
    #找到概况
    findInq=re.compile(r'<span class="inq">(.*)</span>')
    #找到影片相关内容:导演,主演,年份,地区,类别
    findBd=re.compile(r'<p class="">(.*?)</p>',re.S)

  #去掉无关内容
    remove=re.compile(r'                            |\n|</br>|\.*')
    datalist=[]
    for i in range(0,10):
        url=baseurl+str(i*25)
        html=askURL(url)
        soup = BeautifulSoup(html)
        for item in soup.find_all('div',class_='item'):#找到每一个影片项
            data=[]
            item=str(item)#转换成字符串
            #print item
            link=re.findall(findLink,item)[0]
            data.append(link)#添加详情链接
            imgSrc=re.findall(findImgSrc,item)[0]
            data.append(imgSrc)#添加图片链接
            titles=re.findall(findTitle,item)

 

遇到的问题及问题解决方法:
开发获取电影相关内容时遇到了豆瓣对每个标签都有限制,使得在这个标签下查找的页数不能太多,所以获取数据不全问题,最终并没有去解决这个问题

 

其他补充说明:

模块并不完善,看着有些混乱。等团队最终的模块结合

posted @ 2017-10-25 16:48  Among  阅读(206)  评论(0编辑  收藏  举报