Python采集电影评论实战示例

 更新时间:2023年04月18日 09:24:20   作者:极客飞虎  
这篇文章主要为大家介绍了Python采集电影评论实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

数据采集

我们上一篇介绍了,如何采集王者皮肤,买不起皮肤,当个桌面壁纸挺好的。我们今天来学习如何采集电影评论,看看这个电影好不好看。

发送请求

我们首先确定我们的目标网址,对我们需要获取的数据。

我们要把每一个评论获取下来,我们接下来用到开发者工具。我们看评论是在什么位置。是不是在网页源代码中。接下来,我们发送请求,获取网页源代码。

url = 'https://movie.douban.com/subject/35267208/comments'
params = {
    'start': f'{num}',
    'limit': '20',
}
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
}
res = requests.get(url, headers=headers, params=params)
print(res)

这段代码中,我们首先定义了一个 URL,然后使用 requests.get() 函数获取该 URL 的数据,并将其存储在 res 变量中。最后,我们打印出 res 变量的值,即获取到的数据。

在这个例子中,我们使用了 params 参数来指定获取数据的起始位置和每页显示的记录数。在这个例子中,我们指定了起始位置为第 num 条记录,每页显示 limit 条记录。

请注意,这个例子中使用的 user-agent 头部是为了模拟浏览器的行为。在实际应用中,我们应该使用 User-Agent 头部来指定我们的请求类型,例如 requests.get() 函数默认使用 'requests/2.18.4' 作为 User-Agent。

解析数据

我们还可以获取其他信息,比如讲,地区,时间之类的。

我们先解析数据。

selector = parsel.Selector(res.text)
info_lists = selector.css('div.comment-item')

这段代码中,我们首先使用 parsel 库中的 Selector 类来解析 res.text 中的内容,并将其转换为 CSS 选择器。然后,我们使用 css 方法来获取 CSS 选择器中的所有 div 元素,并将其存储在 info_lists 变量中。

需要注意的是,parsel 库中的 Selector 类是一个比较底层的 CSS 解析器,它并不会对 CSS 选择器进行任何优化或转换。因此,在使用 Selector 类时,我们需要确保输入的 CSS 选择器是有效的,并且不会包含任何无效的 CSS 属性或值。

获取内容

for info_list in info_lists:
    # print(info_list)
    name = info_list.css('.comment-info a::text').get()
    rating = info_list.css('.rating::attr(title)').get()
    times = info_list.css('.comment-time::attr(title)').get()
    area = info_list.css('.comment-location::text').get()
    vote_count = info_list.css('.vote-count::text').get()
    short = info_list.css('.short::text').get()

这段代码中,我们使用 for 循环遍历 info_lists 中的每一个元素,并使用 css 方法获取该元素的 text 属性值。然后,我们使用 get() 方法获取该属性值的 title 属性值,并将其存储在 name 变量中。接着,我们使用 get() 方法获取该属性值的 title 属性值,并将其存储在 rating 变量中。最后,我们使用 get() 方法获取该属性值的 title 属性值,并将其存储在 times 变量中。最后,我们使用 get() 方法获取该属性值的 title 属性值,并将其存储在 area 变量中。最后,我们使用 get() 方法获取该属性值的 title 属性值,并将其存储在 vote_count 变量中。最后,我们使用 get() 方法获取该属性值的 title 属性值,并将其存储在 short 变量中。

输出内容

print(name, rating, times, area, vote_count, short)

这段代码中,我们使用 print() 函数打印出了名称、评分、时间、地点、投票数和简短描述。

总结

在这个例子中,我们使用了parsel库中的 Selector 类和 css 方法来获取网页中的 CSS 选择器,并将其转换为相应的属性值。我们还可以使用其他方法来解析数据,例如使用 params 参数来指定获取数据的起始位置和每页显示的记录数,使用 headers 参数来指定 User-Agent 头部。我们还可以使用其他开发者工具来获取更多数据,例如使用网页源代码来获取网页中的所有评论。

以上就是Python采集电影评论的详细内容,更多关于Python采集电影评论的资料请关注脚本之家其它相关文章!

相关文章

  • ubuntu 20.04系统下如何切换gcc/g++/python的版本

    ubuntu 20.04系统下如何切换gcc/g++/python的版本

    这篇文章主要给大家介绍了关于ubuntu 20.04系统下如何切换gcc/g++/python版本的相关资料,文中通过代码介绍的非常详细,对大家学习或者使用ubuntu具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-12-12
  • python+unittest+requests实现接口自动化的方法

    python+unittest+requests实现接口自动化的方法

    这篇文章主要介绍了python+unittest+requests实现接口自动化的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • python删除指定类型(或非指定)的文件实例详解

    python删除指定类型(或非指定)的文件实例详解

    这篇文章主要介绍了python删除指定类型(或非指定)的文件,以实例形式较为详细的分析了Python删除文件的相关技巧,需要的朋友可以参考下
    2015-07-07
  • python使用Pandas导出数据并保存为CSV文件

    python使用Pandas导出数据并保存为CSV文件

    Pandas是Python中用于数据分析和处理的强大库,它提供了灵活高效的数据结构,如DataFrame和Series,使得对数据的处理变得简单易行,在实际应用中,我们经常需要将处理后的数据保存为CSV,所以本文给大家介绍了python使用Pandas导出数据并保存为CSV文件
    2024-12-12
  • python框架django基础指南

    python框架django基础指南

    本文给大家汇总介绍了下python的MVC框架django的一些基础知识,非常的简单实用,希望对大家学习django能够有所帮助。
    2016-09-09
  • Python绘制loss曲线和准确率曲线实例代码

    Python绘制loss曲线和准确率曲线实例代码

    pytorch虽然使用起来很方便,但在一点上并没有tensorflow方便,就是绘制模型训练时在训练集和验证集上的loss和accuracy曲线(共四条),下面这篇文章主要给大家介绍了关于Python绘制loss曲线和准确率曲线的相关资料,需要的朋友可以参考下
    2022-08-08
  • python pandas利用fillna方法实现部分自动填充功能

    python pandas利用fillna方法实现部分自动填充功能

    这篇文章主要介绍了python pandas通过fillna方法实现部分自动填充功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Windows下PyCharm配置Anaconda环境(超详细教程)

    Windows下PyCharm配置Anaconda环境(超详细教程)

    这篇文章主要介绍了Windows下PyCharm配置Anaconda环境,本文给大家分享一篇超详细教程,通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • python机器学习Sklearn实战adaboost算法示例详解

    python机器学习Sklearn实战adaboost算法示例详解

    这篇文章主要为大家介绍了python机器学习Sklearn实战adaboost算法的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-11-11
  • Python基础之循环语句相关知识总结

    Python基础之循环语句相关知识总结

    今天给大家带来的是关于Python基础的相关知识,文章围绕着Python循环语句展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06

最新评论