Python爬虫实战,pyecharts模块,Python实现大江大河评论数据可视化

前言

利用Python实现大江大河评论数据可视化。废话不多说。

让我们愉快地开始吧~

开发工具

Python版本: 3.6.4

相关模块:

requests模块

proxy2808

pandas模块

pyecharts模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

因为豆瓣反爬还是比较严重的

Python爬虫实战,pyecharts模块,Python实现大江大河评论数据可视化_第1张图片

2808PROXY提供的代理服务

Python爬虫实战,pyecharts模块,Python实现大江大河评论数据可视化_第2张图片

没有用代理的话基本就没戏了

分析网页

虽然评论有两万多条,但是豆瓣在登陆的情况下,也只是放出500条数据。

本次只获取全部评论以及差评评论标签页下的数据,合计约为900多条。

Python爬虫实战,pyecharts模块,Python实现大江大河评论数据可视化_第3张图片

然后便是获取用户的注册时间。

900多个用户,900多个请求。

我相信不用代理,绝对Game Over。

Python爬虫实战,pyecharts模块,Python实现大江大河评论数据可视化_第4张图片

获取数据

评论及用户信息获取的代码

import time
import requests
import proxy2808
from bs4 import BeautifulSoup

USERNAME = '用户名'
PASSWORD = '密码'

headers = {
   
    'Cookie': '你的Cookie值',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}


def get_comments(page, proxy_url_secured):
    """
    评论获取
    """
    # 热门评论获取
    url = 'https://movie.douban.com/subject/26797690/comments?start=' + str(page) + '&limit=20&sort=new_score&status=P'
    # 好评获取
    # url = 'https://movie.douban.com/subject/26797690/comments?start=' + str(page) + '&limit=20&sort=new_score&status=P&percent_type=h'
    # 一般评论获取
    # url = 'https://movie.douban.com/subject/26797690/comments?start=' + str(page) + '&limit=20&sort=new_score&status=P&percent_type=m'
    # 差评获取
    # url = 'https://movie.douban.com/subject/26797690/comments?start=' + str(page) + '&limit=20&sort=new_score&status=P&percent_type=l'
    # 使用2808proxy代理
    response = requests.get(url=url, headers=headers, proxies={
   'http': proxy_url_secured, 'https': proxy_url_secured})
    soup = BeautifulSoup(response.text, 'html.parser')
    for div in soup.find_all(class_='comment-item'):
        time.sleep(3)
        # 评论信息
        comment_info = div.find(class_='comment-info')
        # 用户名
        user_name = comment_info.find('a').get_text()
        print(user_name)
        # 用户主页地址
        user_url = comment_info.find('a').attrs['href']
        print(user_url)
        # 获取用户注册时间,看水军必备<

你可能感兴趣的:(Python技术分享,python爬虫,pyecharts,大江大河,数据可视化,模块)