«

怎么使用Python采集电影评论

时间:2024-6-14 09:34     作者:韩俊     分类: Python


本篇内容主要讲解“怎么使用Python采集电影评论”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用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()
 函数打印出了名称、评分、时间、地点、投票数和简短描述。

标签: python

热门推荐