zoukankan      html  css  js  c++  java
  • 爬虫综合作业

    作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/3159

    .爬虫综合大作业

    1. 选择一个热点或者你感兴趣的主题。
    2. 选择爬取的对象与范围。
    3. 了解爬取对象的限制与约束。
    4. 爬取相应内容。
    5. 做数据分析与文本分析。
    6. 形成一篇文章,有说明、技术要点、有数据、有数据分析图形化展示与说明、文本分析图形化展示与说明。
    7. 文章公开发布。

    春节电影档《流浪地球》成为了一匹黑马,其总票房位列中国影史票房成绩第二名,仅次于《战狼Ⅱ》的56.85亿。更被人们誉为中国科幻片崛起的代表作。因此小编决定爬一爬豆瓣的《流浪地球》热评。

    通过登录信息我们可以F12找到cookie和User-Agent:

    部分代码:

    def getHtml(url):
        cookies = {
            'PHPSESSID': 'Cookie:viewed="27061630"; bid=njcVrq06buk; gr_user_id=79844b36-a38d-416e-ab0a-ab7dab65e399; _vwo_uuid_v2=DDFABD6349DE159B7A770F706AF98B5C7|108d1c288dd9ae4638080585c99bb256; ll="118281"; __utmc=30149280; push_noty_num=0; push_doumail_num=0; __utmv=30149280.19620; __gads=ID=62398e893e314208:T=1557373574:S=ALNI_MbxAaUAZvIvQI1wg75Wr1g4xn6xng; douban-profile-remind=1; vtoken=phone_reset_password%20697f3db2259848a195bd9a504954adda; last_login_way=account; __utma=30149280.892170059.1557326585.1557373395.1557379135.3; __utmz=30149280.1557379135.3.2.utmcsr=accounts.douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/passport/login; dbcl2="196206319:Wzv94dl38Ec"; ck=n1Ou; login_start_time=1557379414275; _pk_ref.100001.2fad=%5B%22%22%2C%22%22%2C1557381592%2C%22https%3A%2F%2Fwww.douban.com%2F%22%5D; _pk_id.100001.2fad=b9b7f4fa9c5601f5.1557373412.3.1557381592.1557379271.; _pk_ses.100001.2fad=*'}
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36'}
        req = requests.get(url, headers=headers, cookies=cookies, verify=False);
        req.encoding = 'utf8'
        soup = BeautifulSoup(req.text, "html.parser")
        return soup;
    

      找到想爬的内容

    部分代码:

    def getText(soup):
        comment = []
        for pl in soup.select('.comment-item'):
            comment_b = {}
            user = pl.select('.comment-info')[0]('a')[0].text
            look = pl.select('.comment-info')[0]('span')[0].text
            score = pl.select('.comment-info')[0]('span')[1]['title']
            time = pl.select('.comment-time ')[0]['title']
            pNum = pl.select('.votes')[0].text
            text = pl.select('.short')[0].text
            text2 = text.replace('
    ', ' ')
            comment_b['用户名'] = user
            comment_b['观看情况'] = look
            comment_b['评分情况'] = score
            comment_b['评论时间'] = time
            comment_b['评论'] = text2
            comment_b['赞同次数'] = pNum
            comment.append(comment_b)
        print('爬取成功 ', len(comment), ' 条')
        return comment;
    

      爬取截图:

    爬取的内容保存到excel里

    f1 = pandas.DataFrame(comment)
    f1.to_csv(r'D:ab.csv', encoding='utf_8_sig')
    

      

    词云图:

    网友评分统计:

    for row in csv_reader:
        pingfen.append(row[3])
    del pingfen[0]
    
    te = {};
    for w in pingfen:
        te[w] = pingfen.count(w);
    
    print(te.items())
    
    temp = 1;
    pingfenlist = {}
    for i in te.items():
        if (temp < 6):
            pingfenlist[i[0]] = i[1]
        else:
            break
        temp = temp + 1
    
    print(pingfenlist)
    

      

    生成饼图

    总结:网友对《流浪地球》评分相当高,有65%的推荐率和25%的力荐率。从词云可以看出来《流浪地球》的评论中科幻电影,中国,科幻,国产出现频率很高,可以看出网友把这种高质量的科幻片和中国,国产联系起来。因此网友应该对于国产科幻片开始有一定的信心。最后从数据分析来看《流浪地球》是值得一看的国产科幻片。

  • 相关阅读:
    iOS 5中的strong和weak关键字解析
    【ios】第三方开源类库SSCheckBoxView
    NSRange
    ios开发之在iOS应用中加载自定义字体显示
    IOS中NSUserDefaults的用法(本地数据存储)
    关于setTimeout运行机制
    SpringMVC入门学习框架搭建
    HashMap学习总结
    关于服务器跨域问题(使用cors解决)
    Spring IOC容器和bean
  • 原文地址:https://www.cnblogs.com/LRZluck/p/10841040.html
Copyright © 2011-2022 走看看