• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

爬虫练习-爬取豆瓣网电影评论用户的观影习惯数据

武飞扬头像
码农小KK
帮助1

学新通

豆瓣当下实时热门电影《热烈》作为分析对象

环境:
Python3(Anaconda3)
PyCharm
Chrome浏览器
主要模块:
BeautifulSoup
requests
pymysql
一.概括
目标:获得电影《热烈》的用户观影习惯数据
代码概括:
1.使用requests和bs4爬取电影《热烈》所有短评长评及其用户                                                       2.爬取所有用户的观影数据并使用pymysql存入mysql数据库
3.对数据进行分析
二、(重点)登录豆瓣网(带有反爬虫)

 豆瓣网使用一定的反爬虫技术,根据我的实验经验,主要是针对用户ID、用户IP和请求头的过滤
解决方案:
1携带登陆成功的cookie去请求get登陆
2.使用代理IP
3大量请求头随机使用
2.1使用小象代理IP
学新通
2.2大量请求头随机使用

学新通

 2.3测试IP是否可用

 学新通

 2.4 登录豆瓣网

学新通

 三.电影《热烈》全部长评reviews
以五星长评为例,遍历五星长评的网页,使用bs4爬取所需网页ontent,再读出所需信息得到信息list。

根据前文获得的headers和proxies,发出get请求,获取response。

学新通

 使用bs4做网页解析,获取所需要的content

学新通

 将提取的content提炼得到list

 学新通

 成功得到5星长评的第一页的用户list。

四.电影《热烈》全部短评comments
以五星短评为例,遍历短评的网页,使用bs4爬取所需网页content,筛选出五星短评content,再读出所需信息得到信息list。
根据前文获得的headers和proxies,发出get请求,获取response。

学新通

 使用bs4做网页解析,获取所需要的content。

 学新通

 提取的content,过滤出五星短评,并提炼得到list

学新通

 成功得到短评的第一页的五星用户list
五.存入数据库
以上内容经过去重,可以获得电影《热烈》的全部五星用户,现将这些五星用户list存入mysql数据库。

学新通

 同样的方法可以获得全部的4星、3星、2星、1星用户,并都存入数据库或数据表
六.获取用户观影数据
已知用户主页链接,可以获得用户的观影数据。
以下代码是根据用户user_id 获取用户观影页面一页的数据。

学新通

 已获取 list 数据,后续数据库操作和数据处理操作,就不详细展开了。

下面展示分析成果,对表格部分内容进行截取,将用户id做了打码处理。

学新通

 学新通

 生成条形图展示。

学新通

 学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcjeei
系列文章
更多 icon
同类精品
更多 icon
继续加载