爬虫综合作业

作业要求来自: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('\n', ' ')
        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%的力荐率。从词云可以看出来《流浪地球》的评论中科幻电影,中国,科幻,国产出现频率很高,可以看出网友把这种高质量的科幻片和中国,国产联系起来。因此网友应该对于国产科幻片开始有一定的信心。最后从数据分析来看《流浪地球》是值得一看的国产科幻片。

猜你喜欢

转载自www.cnblogs.com/LRZluck/p/10841040.html
今日推荐