爬取豆瓣电影Top250影片信息

爬取豆瓣电影Top250影片信息

  • 查看影片的详细信息
  • 爬取过程
    • 需安装的包
    • 确定爬取地址
    • 发送请求头
    • 解析数据
    • 保存数据
    • 完整代码

查看影片的详细信息

进入豆瓣电影Top250,选择某一影片,右击,选择“检查元素”。
在这里插入图片描述

爬取过程

需安装的包

安装requests、etree、json。

// An highlighted block
import json
import requests
from lxml import etree

确定爬取地址

由于豆瓣电影Top250是分页的,即计划爬取的影片信息分布在不同的页面上,其对应的网址不同,故需对不同的爬取地址统一格式。
在这里插入图片描述
代码如下:

// An highlighted block
url_list=[]
base_url="https://movie.douban.com/top250?start={}&filter="
for i in range(0,10):url=base_url.format(i*25)url_list.append(url)
print(url_list)

发送请求头

很多网站有反爬虫机制,如果发送没有haeders信息的请求,会被认为是爬虫,则会被禁止请求。设置header,通过request发送请求头。header中必须包含的信息有User_Agent,还可包括Host、Referer、Cookie等,查看方式如下。
在这里插入图片描述

发送请求代码如下:

// An highlighted block
header={    " Host": "movie.douban.com""User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"#Referer Cookie
}
for url in url_list:data=requests.get(url,headers=header,allow_redirects=False).content.decode()print(data)

解析数据

可利用BeautifulSoup或etree.HTML解析数据,此处使用后者。

// An highlighted block
xpath_data=etree.HTML(data)

通过下图,可以看到每一影片的完整信息对应的源代码为<div class="item">,影片题目对应的源代码为<a href="https://movie.douban.com/subject/1292052/">,影片导演及出版信息等对应的源代码为<p class="">,影片评分对应的源代码为<div class="star">,影片简介对应的源代码为<p class="quote">
在这里插入图片描述

进一步解析代码如下:

// An highlighted block
xpath_data=etree.HTML(data)
movie_list=xpath_data.xpath('//div[@class="item"]')  #获取每一部电影的全部信息
data_list=[]
for movie in move_list:movie_dic={}movie_dic['herf']=movie.xpath('.//div[@class="hd"]/a/@herf')[0]  #获取每一部电影的链接movie_dic['name']=movie.xpath('.//a/span/text()')[0]  #获取每一部电影的名字movie_dic['dir&act']=movie.xpath('.//div[@class="bd"]/p/text()')[0] .replace('\n','').replace(' ','')  #获取每一部电影的导演和演员movie_dic['year&coun&class']=movie.xpath('.//div[@class="bd"]/p/text()')[1] .replace('\n','').replace(' ','')  #获取每一部电影的放映时间、出版国家、标签movie_dic['rating']=movie.xpath('.//div[@class="star"]/span/text()')[0]   #获取每一部电影的评分movie_dic['comment']=movie.xpath('.//div[@class="star"]/span/text()')[1]  #获取每一部电影的评论人数movie_dic['summary']=movie.xpath('p[@class="quote"]/span/text()')[0].replace(' ','')  #获取每一部电影的简介data_list.append(movie_dic)
print(data_list)

保存数据

将解析得到的数据保存为json格式,代码如下:

// An highlighted block
json.dump(data_list,open('movie_250.json','w',encoding='UTF-8'))

完整代码

爬取豆瓣电影Top250影片信息的完整代码如下:

// An highlighted block
import json
import requests
from lxml import etree
#构建所有的url
base_url="https://movie.douban.com/top250?start={}&filter="
url_list=[]
for i in range(0,10):url=base_url.format(i*25)url_list.append(url)
print(url_list)#数据爬取
header={"Host": "movie.douban.com","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"#Referer Cookie
}
data_list=[]for url in url_list:#发送请求data=requests.get(url,headers=header,allow_redirects=False).content.decode()print(data)#解析数据xpath_data=etree.HTML(data)movie_list=xpath_data.xpath('//div[@class="item"]')  #获取每一部电影的全部信息for movie in movie_list:movie_dic={}movie_dic['herf']=movie.xpath('.//div[@class="hd"]/a/@href')[0]  #获取每一部电影的链接movie_dic['name']=movie.xpath('.//a/span/text()')[0]  #获取每一部电影的名字movie_dic['dir&act']=movie.xpath('.//div[@class="bd"]/p/text()')[0] .replace('\n','').replace(' ','')  #获取每一部电影的导演和演员movie_dic['year&coun&class']=movie.xpath('.//div[@class="bd"]/p/text()')[1] .replace('\n','').replace(' ','')  #获取每一部电影的放映时间、出版国家、标签movie_dic['rating']=movie.xpath('.//div[@class="star"]/span/text()')[0]   #获取每一部电影的评分movie_dic['comment']=movie.xpath('.//div[@class="star"]/span/text()')[1]  #获取每一部电影的评论人数movie_dic['summary']=movie.xpath('.//p[@class="quote"]/span/text()')   #获取每一部电影的简介data_list.append(movie_dic)#存储数据
json.dump(data_list,open('movie_250.json','w',encoding='UTF-8'))

参考资料:廖雪峰爬虫课程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/63564.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

豆瓣电影详情数据爬取

这次的爬虫我们来看url携带多个参数的页面爬取 打开豆瓣电影排行榜官网&#xff0c;这里我选择了喜剧类型&#xff0c;发现只要将鼠标下滚翻到该页面最底部&#xff0c;滚轮就会重新跳到中间&#xff0c;相当于浏览器又发送了请求&#xff0c;重新加载一个页面&#xff0c;对应…

豆瓣电影top250信息爬取

摘要 python的网络爬虫可以方便抓取网页的消息&#xff0c;本文以豆瓣网站为例&#xff0c;实现了python网络爬虫抓取豆瓣电影排行榜top250的过程&#xff0c;以及其中遇到的问题和解决过程。 1&#xff0e;引言 网络爬虫又称网络蜘蛛&#xff0c;或网络机器人。是一种按照一…

基于Python的豆瓣中文影评差评分析

资源下载地址&#xff1a;https://download.csdn.net/download/sheziqiong/86773473 资源下载地址&#xff1a;https://download.csdn.net/download/sheziqiong/86773473 1. NLP NLP&#xff08;Natural Language Processing&#xff09;是指自然语言处理&#xff0c;他的目的…

基于电影《少年的你》豆瓣影评数据的爬取与分析

目标网站&#xff1a;豆瓣电影 目标网址&#xff1a;https://movie.douban.com/subject/30166972/comments?statusP 目标数据&#xff1a;&#xff08;1&#xff09;评价 &#xff08;2&#xff09;日期 &#xff08;3&#xff09;评论 &#xff08;4&#xff09;评论点赞 …

爬取豆瓣电影前十页的好评一般差评

分析一波 爬取的地址&#xff1a;https://movie.douban.com/subject/26588308/comments 分别找出好评、一般、差评的评论&#xff1a; 通过地址栏分析&#xff0c;评论的类型和percent_type有关&#xff1a; 好评为h一般为m差评为l 但是我们想找的是在全部里面寻找好评一般和差…

豆瓣电影当中的电影详情数据

打开豆瓣电影&#xff0c;点击当中的排行榜&#xff0c;相应的类型选择为喜剧类型&#xff0c;当前的数据如果不使用数据解析来实现的话&#xff0c;会不会通过阿贾克斯请求来请求到json形式相应的电影数据呢&#xff1f; 当滚轮拖动到底部的时候&#xff0c;发现滚轮很快就变动…

针对豆瓣TOP前250电影做的简单的数据分析~

~~~~~~内容参考如下使用python抓取豆瓣top250电影数据进行分析 - 简书 https://www.jianshu.com/p/720b193a5c2b #导入库&#xff0c;三大常用数据分析库 import numpy as np import pandas as pd import matplotlib.pyplot as plt import matplotlib#读取保存本地的excel文件…

电影评分数据集的分析

目录 数据集的获得使用工具项目流程 数据集的获得 进入该网址&#xff1a;https://grouplens.org/datasets/movielens/ 找到如下part&#xff1a; 点击ml-100k.zip进行数据集的下载 在本地解压后&#xff0c;将会看到如下内容&#xff1a; 但我们目前只需要三个文件&#…

爬取豆瓣电影的评论

好久没有爬虫了&#xff0c;今天突然叫爬豆瓣&#xff0c;有点懵了&#xff0c;不过看了看以前爬的&#xff0c;一葫芦画瓢整了一个这个。bs4和requests yyds&#xff01; 分析一波 爬取的地址&#xff1a;https://movie.douban.com/subject/26588308/comments 每次翻页可以看到…

2020 豆瓣电影榜单出炉,直接在豆瓣上看电影吧

公众号后台回复“图书“&#xff0c;了解更多号主新书内容 作者&#xff1a;苏生不惑 来源&#xff1a;苏生不惑 一晃又到了年底&#xff0c;2020年就要结束了&#xff08;你的小目标完成了吗&#xff09;&#xff0c;一年一度的豆瓣电影榜单也出炉了https://movie.douban.com/…

豆瓣Top250电影数据分析报告

我的其他数据分析报告:求职指南——数据分析职位解析 【Python3】Requests+正则表达式+multiprocessing爬虫并存入MySQL数据库 一、分析背景及目的 豆瓣对Top250电影的定义: 豆瓣用户每天都在对“看过”的电影进行“很差”到“力荐”的评价,豆瓣根据每部影片看过的人数以及…

爬取豆瓣电影分类排行榜

确定目标网址&#xff1a;豆瓣电影排行榜 使用Google浏览器打开目标网址&#xff0c;右侧选择分类“传记”&#xff0c;按F12打开开发者工具&#xff0c;会打开如下界面&#xff1a;左侧是数据内容&#xff0c;右侧是网页源代码信息。注&#xff1a;由于该页面是动态的&#x…

豆瓣top250电影数据分析

分析背景及目的 豆瓣电影 Top 250定义:豆瓣用户每天都在对“看过”的电影进行“很差”到“力荐”的评价,豆瓣根据每部影片看过的人数以及该影片所得的评价等综合数据,通过算法分析产生豆瓣电影 Top 250。 本文对于"好评电影"(豆瓣电影top250)的影片评分,上映…

Python对豆瓣电影Top250并进行数据分析

由于CSDN审核机制&#xff0c;导致原文章无法发出&#xff0c;故修改了相关词汇&#xff0c;并改为两篇问章发布。 数据获取 翻页操作 观察可知&#xff0c;我们只需要修改start参数即可 headers字段 headers中有很多字段&#xff0c;这些字段都有可能会被对方服务器拿过来进…

你知道豆瓣电影是怎么评分的吗?

「关注我&#xff0c;和我一起放下灵魂&#xff0c;让灵魂去搬砖。」 作者&#xff1a;小一 介绍&#xff1a;放不下灵魂的搬砖者 全文共6673字&#xff0c;阅读全文需17分钟 Python版本3.8.0&#xff0c;开发工具&#xff1a;Pycharm 写在前面的话&#xff1a; 如果你是因为看…

豆瓣电影TOP250数据分析

本文使用的语言为Python, 用到的几个模块有&#xff1a;BeautifulSoup&#xff08;爬数据&#xff09;&#xff0c;pandas&#xff08;数据处理&#xff09;&#xff0c;seaborn&#xff08;可视化&#xff09;&#xff0c;部分图表由Tableau生成。 1. 数据获取 计划要抓取的…

豆瓣高分电影信息分析(数据分析)

豆瓣高分电影信息分析&#xff08;数据分析&#xff09; 1、数据抓取 数据集的获取是我们进行数据分析的第一步。现在获取数据的主要途径一般为&#xff1a;现成数据&#xff1b;自己写爬虫去爬取数据&#xff1b;使用现有的爬虫工具爬取所需内容&#xff0c;保存到数据库&am…

豆瓣电影评分分析(数据分析)

本文主要通过对豆瓣电影爬取的数据进行的简要分析&#xff0c;观察得出各部分之间对应的关系影响。 一.数据抓取 我们要想进行数据分析&#xff0c;首先就要通过爬虫对分析对象网页的数据爬取保存&#xff0c;可以保存到数据库或者文件形式到本地&#xff0c;这里我是保存在表…

人类禁止进入的“微博”,我的AI机器人在那里吹牛,“勾搭”AI小姑娘

最近球友推荐了一个非常有趣的网站&#xff0c;叫“奇鸟”&#xff08;https://chirper.ai/zh&#xff09;。 简单来说&#xff0c;这是一个AI专属的微博&#xff0c;人类禁止发言&#xff0c;但是你可以创建一个叫“奇鸟”的机器人代理&#xff0c;让它在里边发帖&#xff0c;…

OpenAI 的嵌入 API太慢了吗?探索其他嵌入模型和服务的优势

这篇文章讨论了机器学习模型的延迟对聊天应用和代理的用户体验的影响&#xff0c;重点关注了生成语言模型&#xff08;LLM&#xff09;的提示生成过程中的语义搜索任务。文章比较了两种嵌入API 服务&#xff08;OpenAI 和 Google&#xff09;和几种开源嵌入模型&#xff08;sen…