写在前面:
我在上一篇博客中【Python_005】利用jieba及wordcloud生成词频及词云图 ,为了测试切词和词云图的效果,从豆瓣爬了电影的100条短评,本篇博客就来分享一下如何爬豆瓣影评 (当然还是以神夏为例嘎嘎嘎)

使用到的模块

抓取主要使用到两个模块:urlib.request 和 BeautifulSoup

urllib.request

urllib.request 用于打开URL的可扩展库
官方文档

用urllib.request中的 request函数发送请求,urlopen函数可返回网址源代码

需要加入header信息,如果不加可能会发生HTTP Error 418

找到header方法,我这边使用的是Chrome, 打开一个网页,按F12进入开发者页面, 点Network -> Header,找到User Agent开头的一串,就是header

from urllib.request import urlopen, Requesturl = 'https://movie.douban.com/explore#!type=movie&tag=%E8%B1%86%E7%93%A3%E9%AB%98%E5%88%86&sort=recommend&page_limit=20&page_start=0'headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)....../537.36'}resp = Request(url, headers=headers)
req = urlopen(resp)
print(req.read().decode('utf-8'))

效果如图:

BeautifulSoup4

BeautifulSoup4是一个可以从HTML或XML文件中提取数据的Python库,支持Python标准库中的HTML解析器,或者支持第三方库。
BeautifulSoup4 自动将输入文档转换成Unicode编码,输出文档转换为utf-8
官方文档

from urllib.request import urlopen, Request
from bs4 import BeautifulSoupurl = 'https://movie.douban.com/explore#!type=movie&tag=%E8%B1%86%E7%93%A3%E9%AB%98%E5%88%86&sort=recommend&page_limit=20&page_start=0'headers={'User-Agent': 'Mozilla/5.0 ..... Chrome/70.0.3538.67 Safari/537.36'}resp = Request(url, headers=headers)
req = urlopen(resp)
page = req.read().decode('utf-8')soup = BeautifulSoup(page, 'html.parser')
print(soup.prettify())
  • soup.prettify() 得到一个BeautifulSoup的对象,并能按照标准的缩进格式结构输出

BeautifulSoup 支持 遍历文档,找到所有符合条件的tag
在此例中,就是找到评论所属的tag,用find_all() 返回所有评论及所在的tag。
下图是上文soup.prettify() 返回的文档内容,可以看到短评都放在名为span的tag中,class为short.

soup.find_all('span', class_='short')

返回的是一个resultset对象
如果想要爬取多页内容,那么在最开始加入一个对url的循环嵌套即可。
完整代码如下

from urllib.request import urlopen, Request
from bs4 import BeautifulSoup
import pandas as pd
from pandas import DataFrameurl_init = 'https://movie.douban.com/subject/3986493/comments?start={0}&limit=20&sort=new_score&status=P'
urls = [url_init.format(x*20) for x in range(5)]headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) .....36'}
result = []
for url in urls:ret = Request(url, headers=headers)res = urlopen(ret)page = res.read().decode('utf-8')soup = BeautifulSoup(page, 'html.parser')tb = soup.find_all('span', class_='short')for i in range(len(tb)):result.append(tb[i])result = pd.Series(result)result.to_excel('E:/Python Project/douban_comment.xlsx')

【Python_006】Python爬虫抓取豆瓣电影影评相关推荐

  1. 编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法

    这篇文章主要介绍了编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法,用到了Python的urllib和urllib2模块,需要的朋友可以参考下 抓取豆瓣电影TOP100 一.分析豆瓣top ...

  2. python爬虫豆瓣电影评价_使用爬虫爬取豆瓣电影影评数据Python版

    在 使用爬虫爬取豆瓣电影影评数据Java版 一文中已详细讲解了爬虫的实现细节,本篇仅为展示Python版本爬虫实现,所以直接上代码 完整代码 爬虫主程序 # 爬虫启动入口 from C02.data ...

  3. Python爬虫爬取豆瓣电影评论内容,评论时间和评论人

    Python爬虫爬取豆瓣电影评论内容,评论时间和评论人 我们可以看到影评比较长,需要展开才能完整显示.但是在网页源码中是没有显示完整影评的.所以我们考虑到这部分应该是异步加载的方式显示.所以打开网页的 ...

  4. Python爬虫 爬取豆瓣电影TOP250

    Python爬虫 爬取豆瓣电影TOP250 最近在b站上学习了一下python的爬虫,实践爬取豆瓣的电影top250,现在对这两天的学习进行一下总结 主要分为三步: 爬取豆瓣top250的网页,并通过 ...

  5. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

  6. 【python教程入门学习】Python爬虫抓取猫眼电影排行榜

    本节使用 Python 爬虫抓取猫眼电影网 TOP100 排行榜(https://maoyan.com/board/4)影片信息,包括电影名称.上映时间.主演信息. 在开始编写程序之前,首先要确定页面 ...

  7. python,抓取豆瓣电影,再也不用担心没有看不了的电影了

    1. 豆瓣抓站流程 分析url特征(菜鸟阶段) 对需要抓取的数据设计正则表达式 处理HTML中一些特征字符,换行符等 注意异常的处理和字符编码的处理 2. 实现的功能 简单的实现了抓取豆瓣电影Top1 ...

  8. 用python+selenium抓取豆瓣电影中的正在热映前12部电影并按评分排序

    抓取豆瓣电影(http://movie.douban.com/nowplaying/chengdu/)中的正在热映前12部电影,并按照评分排序,保存至txt文件 1 #coding=utf-8 2 f ...

  9. 使用爬虫爬取豆瓣电影影评数据Java版

    2019独角兽企业重金招聘Python工程师标准>>> 近期被<我不是药神>这部国产神剧刷屏了,为了分析观众对于这部电影的真实感受,我爬取了豆瓣电影影评数据.当然本文仅讲 ...

最新文章

  1. oracle提供的有用函数(待续)
  2. 中文编程语言Z语言开源正式开源!!!
  3. Express--socket.io使用session验证
  4. linux调试-v-n区别,为你分享一些超好用的Unix/Linux 命令技巧
  5. Spring : ConfigurableListableBeanFactory
  6. UI设计插画素材|苹果设备展示
  7. 奥特曼传奇英雄存档丢了怎么找回_热血传奇:法师前期跨级刷怪到底划不划算?...
  8. tensorflow之lenet训练手写字及应用
  9. 论文阅读笔记——Internet的流量管制(Traffic Policing)
  10. 怎么更改AD域用户账号和密码_AD域管理中那些实用的软件
  11. android dff播放器,无损音乐解码播放器
  12. 计算机表格加减乘除符号,excel加减乘除-Excel表格最常用的37种符号,帮你整理齐了!...
  13. 当在jup里面更新了数据源之后就 帅选不了数据 ,代码运行不了
  14. 用python做动画的代码_Python应用 | 三行代码实现GIF动画
  15. js点击小图完成大图切换
  16. ....他乡遇故知....
  17. Java SE学习之【网络编程JavaSocket】
  18. Android LCD(三):LCD接口篇【转】
  19. 南通蓝领技工学校计算机咋样,南通市蓝领技工学校
  20. G14 官方解锁后刷任意区域官方 RUU(G12也可以参考呀~~~~~~~~~~~)

热门文章

  1. 5 Mysql数据保护
  2. GD32F130 使用ST库开发项目
  3. 小红书api_【实习精选】oppo、小红书等名企实习汇总(96)
  4. 中国人工智能学会公布首批会士名单,共计53名产业领军人物当选
  5. 《计算机组成原理》课程学习(7)——第3篇 中央处理器——第7章 指令系统
  6. SuperMap iServer常见问题解答集锦(十五)
  7. 新书出版了 - 移动App测试实战
  8. 重置 oracle ogg,重置DML配置下ogg步骤
  9. 机壳地与数字地_模拟地的关系
  10. hbilderx 扫一扫_【报Bug】hbuilder 扫一扫从相册中选图的图片扫码识别不出来