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


    项目托管平台地址:https://github.com/xyhcq/top250 

    开发模块功能: 爬虫对信息的处理部分

    开发时间:5天的下午空余时间(每天大约1小时,边学模块的使用边开发)

    实现了:爬虫的基本功能,能够爬取指定网站的信息

    实现过程:导入2个python库:requests和BeautifulSoup,利用这些库自带的功能和根据之前 成员马壮分析过的网页源码信息 可以实现对网页源码内容的分析提取。

    def getData(html):
        # 分析代码信息,提取数据
        soup = BeautifulSoup(html, "html.parser")
    
        # 找到第一个class属性值为grid_view的ol标签
        movieList=soup.find('ol',attrs={'class':'grid_view'})
    
        # 找到所有的li标签
        for movieLi in movieList.find_all('li'):    
            # 找到第一个class属性值为hd的div标签
            movieHd=movieLi.find('div',attrs={'class':'hd'})
            # 找到第一个class属性值为title的span标签
    
            # 获取电影名字
            movieName=movieHd.find('span',attrs={'class':'title'}).getText()
            print movieName
    
            # 获取电影链接
            movieUrl=movieHd.find('a class="" href="')
            print movieUrl
    
    
            # 获取电影导演/演员
            movieBd = movieLi.find('div', attrs={'class': 'bd'})
            movieSF=movieBd.find('p',attrs={'class':''}).getText()
            print movieSF
    
    
            # 获取电影的评分
            movieScore=movieLi.find('span',attrs={'class':'rating_num'}).getText()
            print movieScore
    
            #获取电影的评论数
            movieEval=movieLi.find('div',attrs={'class':'star'})
            movieEvalNum=re.findall(r'd+',str(movieEval))[-1]
            print movieEvalNum
    
            # 获取电影短评
            movieQuote = movieLi.find('span', attrs={'class': 'inq'})
            # 有的电影没有短评,为防止报错,加次
            if(movieQuote):
                print movieQuote.getText()
            else:
                print ('没有短评!')

    遇到的问题及问题解决方法:

    安装BeautifulSoup和requests库时遇到了严重的问题:系统的python有问题,环境变量异常,不能正常运行模块的安装程序,最终在虚拟机里安装了xp系统和python2.7解决了这个问题

    安装BeautifulSoup和requests库时遇到了一般的问题:导入这两个模块后程序报错,不能正常工作,最终经检查发现,安装的模块版本不适用于python2.7,重新找到适配版本安装后问题解决。

  • 相关阅读:
    作业三:模拟 mysql 进行增删改查
    作业一:购物车程序
    作业一:登陆接口
    python输出带颜色详解
    浅谈面向对象开发原则:高内聚,低耦合
    DIV+CSS命名规范
    ModelSim 仿真教程
    [HDL]除法器的设计与仿真(转)
    ModelSim中Altera仿真库的添加(转)
    PictureBox中的Image对象(或者图片)转存到数据库
  • 原文地址:https://www.cnblogs.com/xingyunqi/p/7738790.html
Copyright © 2020-2023  润新知