导航:首页 > 观影指南 > 如何爬取豆瓣一部电影的影评

如何爬取豆瓣一部电影的影评

发布时间:2022-08-09 03:33:28

Ⅰ Python爬虫如何抓取豆瓣影评中的所有数据

你可以用前嗅爬虫采集豆瓣的影评,我之前用的,还可以过滤只采集评分在6分以上的所有影评,非常强大,而且他们软件跟数据库对接,采集完数据后,直接入库,导出excel表。很省心。

Ⅱ Python抓取豆瓣电影排行榜

1.观察url
首先观察一下网址的结构 http://movie.douban.com/top250?start=0&filter=&type= :
可以看到,问号?后有三个参数 start、filter、type,其中start代表页码,每页展示25部电影,0代表第一页,以此类推25代表第二页,50代表第三页...
filter顾名思义,是过滤已经看过的电影,filter和type在这里不重要,可以不管。
2.查看网页源代码
打开上面的网址,查看源代码,可以看到信息的展示结构如下:
1 <ol class="grid_view"> 2 <li> 3 <div class="item"> 4 <div class="pic"> 5 <em class="">1</em> 6 <a href="http://movie.douban.com/subject/1292052/"> 7 <img alt="肖申克的救赎" src="http://img3.douban.com/view/movie_poster_cover/ipst/public/p480747492.jpg" class=""> 8 </a> 9 </div>10 <div class="info">11 <div class="hd">12 <a href="http://movie.douban.com/subject/1292052/" class="">13 <span class="title">肖申克的救赎</span>14 <span class="title"> / The Shawshank Redemption</span>15 <span class="other"> / 月黑高飞(港) / 刺激1995(台)</span>16 </a>17 18 19 <span class="playable">[可播放]</span>20 </div>21 <div class="bd">22 <p class="">23 导演: 弗兰克·德拉邦特 Frank Darabont 主演: 蒂姆·罗宾斯 Tim Robbins /...<br>24 1994 / 美国 / 犯罪 剧情25 </p>26 27 28 <div class="star">29 <span class="rating5-t"><em>9.6</em></span>30 <span>646374人评价</span>31 </div>32 33 <p class="quote">34 <span class="inq">希望让人自由。</span>35 </p>36 </div>37 </div>38 </div>39 </li>
其中<em class="">1</em>代表排名,<span class="title">肖申克的救赎</span>代表电影名,其他信息的含义也很容易能看出来。
于是接下来可以写正则表达式:
1 pattern = re.compile(u'<div.*?class="item">.*?<div.*?class="pic">.*?' 2 + u'<em.*?class="">(.*?)</em>.*?' 3 + u'<div.*?class="info">.*?<span.*?class="title">(.*?)' 4 + u'</span>.*?<span.*?class="title">(.*?)</span>.*?' 5 + u'<span.*?class="other">(.*?)</span>.*?</a>.*?' 6 + u'<div.*?class="bd">.*?<p.*?class="">.*?' 7 + u'导演: (.*?) ' 8 + u'主演: (.*?)<br>' 9 + u'(.*?) / (.*?) / '10 + u'(.*?)</p>'11 + u'.*?<div.*?class="star">.*?<em>(.*?)</em>'12 + u'.*?<span>(.*?)人评价</span>.*?<p.*?class="quote">.*?'13 + u'<span.*?class="inq">(.*?)</span>.*?</p>', re.S)
在此处flag参数re.S代表多行匹配。
3.使用面向对象的设计模式编码
代码如下:
1 # -*- coding:utf-8 -*- 2 __author__ = 'Jz' 3 import urllib2 4 import re 5 import sys 6 7 class MovieTop250: 8 def __init__(self): 9 #设置默认编码格式为utf-810 reload(sys)11 sys.setdefaultencoding('utf-8')12 self.start = 013 self.param = '&filter=&type='14 self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64)'}15 self.movieList = []16 self.filePath = 'D:/coding_file/python_file/File/DoubanTop250.txt'17 18 def getPage(self):19 try:20 URL = 'http://movie.douban.com/top250?start=' + str(self.start)21 request = urllib2.Request(url = URL, headers = self.headers)22 response = urllib2.urlopen(request)23 page = response.read().decode('utf-8')24 pageNum = (self.start + 25)/2525 print '正在抓取第' + str(pageNum) + '页数据...' 26 self.start += 2527 return page28 except urllib2.URLError, e:29 if hasattr(e, 'reason'):30 print '抓取失败,具体原因:', e.reason31 32 def getMovie(self):33 pattern = re.compile(u'<div.*?class="item">.*?<div.*?class="pic">.*?'34 + u'<em.*?class="">(.*?)</em>.*?'35 + u'<div.*?class="info">.*?<span.*?class="title">(.*?)'36 + u'</span>.*?<span.*?class="title">(.*?)</span>.*?'37 + u'<span.*?class="other">(.*?)</span>.*?</a>.*?'38 + u'<div.*?class="bd">.*?<p.*?class="">.*?'39 + u'导演: (.*?) '40 + u'主演: (.*?)<br>'41 + u'(.*?) / (.*?) / '42 + u'(.*?)</p>'43 + u'.*?<div.*?class="star">.*?<em>(.*?)</em>'44 + u'.*?<span>(.*?)人评价</span>.*?<p.*?class="quote">.*?'45 + u'<span.*?class="inq">(.*?)</span>.*?</p>', re.S)46 while self.start <= 225:47 page = self.getPage()48 movies = re.findall(pattern, page)49 for movie in movies:50 self.movieList.append([movie[0], movie[1], movie[2].lstrip(' / '),
51 movie[3].lstrip(' / '), movie[4],
52 movie[5], movie[6].lstrip(), movie[7], movie[8].rstrip(),53 movie[9], movie[10], movie[11]])54 55 def writeTxt(self):56 fileTop250 = open(self.filePath, 'w')57 try:58 for movie in self.movieList:59 fileTop250.write('电影排名:' + movie[0] + '\r\n')60 fileTop250.write('电影名称:' + movie[1] + '\r\n')61 fileTop250.write('外文名称:' + movie[2] + '\r\n')62 fileTop250.write('电影别名:' + movie[3] + '\r\n')63 fileTop250.write('导演姓名:' + movie[4] + '\r\n')64 fileTop250.write('参与主演:' + movie[5] + '\r\n')65 fileTop250.write('上映年份:' + movie[6] + '\r\n')66 fileTop250.write('制作国家/地区:' + movie[7] + '\r\n')67 fileTop250.write('电影类别:' + movie[8] + '\r\n')68 fileTop250.write('电影评分:' + movie[9] + '\r\n')69 fileTop250.write('参评人数:' + movie[10] + '\r\n')70 fileTop250.write('简短影评:' + movie[11] + '\r\n\r\n')71 print '文件写入成功...'72 finally:73 fileTop250.close()74 75 def main(self):76 print '正在从豆瓣电影Top250抓取数据...'77 self.getMovie()78 self.writeTxt()79 print '抓取完毕...'80 81 DouBanSpider = MovieTop250()82 DouBanSpider.main()

代码比较简单,最后将信息写入一个文件,没有什么需要解释的地方。

Ⅲ 怎么用python抓取豆瓣上用户对电影的评分

#!/usr/bin/env python2.7# encoding=utf-8"""
爬取豆瓣电影TOP250 - 完整示例代码
"""import codecsimport requestsfrom bs4 import BeautifulSoup

DOWNLOAD_URL = 'http://movie.douban.com/top250/'def download_page(url):
return requests.get(url, headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'
}).contentdef parse_html(html):
soup = BeautifulSoup(html)
movie_list_soup = soup.find('ol', attrs={'class': 'grid_view'})

movie_name_list = [] for movie_li in movie_list_soup.find_all('li'):
detail = movie_li.find('div', attrs={'class': 'hd'})
movie_name = detail.find('span', attrs={'class': 'title'}).getText()

movie_name_list.append(movie_name)

next_page = soup.find('span', attrs={'class': 'next'}).find('a') if next_page: return movie_name_list, DOWNLOAD_URL + next_page['href'] return movie_name_list, Nonedef main():
url = DOWNLOAD_URL with codecs.open('movies', 'wb', encoding='utf-8') as fp: while url:
html = download_page(url)
movies, url = parse_html(html)
fp.write(u'{movies}\n'.format(movies='\n'.join(movies)))if __name__ == '__main__':
main()

Ⅳ 如何写爬虫程序爬取豆瓣网或者新浪微博里的内容

用前嗅的ForeSpider数据采集软件可以采集,我之前采过豆瓣的影评,可以设置各种过滤规律,比如我只要豆瓣评分6.0以上的电影,就可以精确的过滤。
可以下载一个免费版的试试,没有功能和使用时长限制。
软件内部集成了数据挖掘功能,可以通过一个采集模板,精准挖掘全网的内容。在数据采集入库的同时,可以完成分类、统计、自然语言处理等诸多功能。
软件与ForeAna数据分析系统对接,可以实现强大的数据分析功能,对数据进行深度的大数据分析。
ForeSpider除了强大的可视化采集之外,还自带一套爬虫脚本语言,可以采集任何公开的数据。

Ⅳ 怎么在豆瓣里看到自己的影评

短评还是长评?短评就是你加这个片子为“看过”时弹出的对话框写的内容,可以点开“我看”找到“看过”,点看过旁边的数字,就能看到自己所有的短评。同样,在“我看”页面,即“id号的电影”页面,点“影评”就可以看到自己为影片写的长评论。

也可以打开那个片子的页面,在海报下方,评星的位置下面就看得到你自己写的短评。在电影页面的下方有大家的评论即“XXX影片的评论”,找自己的就可以(但是对于那些评论很多的片子,还是需要找上一阵的,不方便)。

Ⅵ 2022豆瓣如何快速找到自己的影评

具体操作步骤如下:
电脑端:
打开浏览器,搜索豆瓣,进入豆瓣首页
然后在搜索框输入你想看的电影,进入搜索页,点击第一栏,进入详情页
进入详情页后,向下拉,你就可以看到精彩的影评了。
手机端:
开启豆瓣网APP,账号登录。
点一下右下方“我的”这一菜单键,你能见到“我的公布”这一选择项。
进到“我的公布”页面,寻找“评价”,你全部的评价, 阅读 日记都会上边。

Ⅶ 怎样避开豆瓣对爬虫的封锁,从而抓取豆瓣上电影内容

在互联网中,有网络爬虫的地方,绝对少不了反爬虫的身影。网站反爬虫的拦截前提是要正确区分人类访问用户和网络机器人,当发现可疑目标时,通过限制IP地址等措施阻止你继续访问。爬虫该如何突破反爬虫限制?

一、构建合理的HTTP请求头
HTTP的请求头是在你每次向网络服务器发送请求时,传递的一组属性和配置信息。由于浏览器和Python爬虫发送的请求头不同,有可能被反爬虫检测出来。

二、设置cookie的学问
Cookie是一把双刃剑,有它不行,没它更不行。网站会通过cookie跟踪你的访问过程,如果发现你有爬虫行为会立刻中断你的访问,比如你特别快的填写表单,或者短时间内浏览大量页面。而正确地处理cookie,又可以避免很多采集问题,建议在采集网站过程中,检查一下这些网站生成的cookie,然后想想哪一个是爬虫需要处理的。

三、正常的时间访问路径
合理控制采集速度,是Python爬虫不应该破坏的规则,尽量为每个页面访问时间增加一点儿间隔,可以有效帮助你避免反爬虫。

四、使用http
对于分布式爬虫和已经遭遇反爬虫的人来说,使用http将成为你的首选。Ipidea分布地区广,可满足分布式爬虫使用需要。支持api提取,对Python爬虫来说再适合不过。

Ⅷ 谁来告诉我豆瓣上,在哪看自己发过的影评、短评

谁来告诉我豆瓣上,在哪看自己发过的影评、短评?
谁来告诉我豆瓣上,在哪看自己发过的影评、短评?登录豆瓣——点击“豆瓣电影”——上数第二行,点击“我看”——“XX的电影”下面,第二项“影评”。
豆瓣的影评与短评区别影评是长篇大论,短评一两句话就可以啦
豆瓣写过的影评在哪里看我的豆瓣~~找到自己的电影框那里点我看过的~~然后再选影评~~就有了~~
为什么我在豆瓣上发的电影短评别人看不到?豆瓣电影有一套自己的评分、短评处理系统。
出现这种情况的很大原因是把你的评论默认为水军评论(即来自于机器人的评论)而不显示。
有可能是因为你的账户特别新,比如新注册的,或者评论的电影数量不够多。
解决这个问题的办法是:当你继续使用一段时间这个账户后,多多给别的电影打分、写评论,系统就会被默认为活跃的“老账户”,你之前和之后的评论就不至于被隐藏了。
多用用就好了,别老用新账户。

我也是这样,用的谷歌浏览器,写了很多精彩评论,结果别人看不到??!
怎样在豆瓣电影发表短评?你需要看看你是不是在小组里面发言,有些小组只能是组员发言的,你要先加入小组
如何评价豆瓣上装逼的影评人看电影不只是你看的电影多了,你就能够当一个影评人,你得需要许多的知识来充实,丰满自己,比如历史文化,文学艺术等。1有的影评人评论的头头是道,影评表面上看上去貌似是很专业,如果你懂的话,深入剖析,你会发现他评的很幼稚,垃圾。而有的影评人确实也是比较专业的
怎么在豆瓣上确定自己看过的电影呃。。。
在豆瓣写的电影短评,怎么找不到自己的可能是短评太多了,你发完找找最后一页
谁来告诉我豆瓣音乐人怎么看歌词音乐很好听,令人陶醉。但提些小建议:1、不支持后台播放,至少不是完美支持,锁屏或者后台之后就无法自动播放下一首歌了;2、无法建立自己的歌曲列表;3、没了~

Ⅸ 求一份Python爬取豆瓣影评数据集,多部电影,多影评的,哎

这种类型的

Ⅹ 怎样用python爬取豆瓣电影

推荐you-get工具包,pip可以直接下载安装

阅读全文

与如何爬取豆瓣一部电影的影评相关的资料

热点内容
电视3d电影软件推荐 浏览:385
用游戏人物拍的电影 浏览:181
北京电影学院动画速写考题 浏览:322
除了肖申克的救赎还有哪些经典电影 浏览:641
主角制作游戏的电影 浏览:237
霍比特人BT电影天堂 浏览:141
电影微信诈骗 浏览:691
如何看待电影吐槽 浏览:1000
微电影闺密 浏览:243
死亡笔记新世界电影 浏览:917
电影天堂真正网址 浏览:998
微电影美德 浏览:999
法国和英国合拍的电影有哪些 浏览:922
两个小孩玩轮盘游戏的电影 浏览:484
复仇战姬电影是哪个国家 浏览:187
韩剧电影最新雪花店 浏览:862
北京电影学院一年消费 浏览:841
邓超电影南昌话片段 浏览:934
我国数字电影出现时间 浏览:924