暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python爬虫之爬取豆瓣电影数据

原创 只是甲 2022-09-26
430

Table of Contents

一. 需求

我们需要爬取豆瓣top 250的电影进行分析。

二. 解决方案

使用python的request和re模块可以爬取数据

2.1 小小的反扒

豆瓣有一个小小的反爬技巧,禁止虚拟设备的爬取数据,所以我们打开我们的浏览器,找到 User Agent,如下图所示。
image.png

2.2 查看源码

查看网页源码,然后找到《肖申克的救赎》,我们可以大概知道数据是怎么展示的。
image.png

2.3 编写代码

代码:

import requests import re def get_movie_data(url): head = { "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36" } # 处理一个小小的反爬 resp = requests.get(url, headers=head) resp.encoding = 'utf-8' obj = re.compile(r'<div class="item">.*?<span class="title">(?P<name>.*?)</span>' r'.*?<br>(?P<year>.*?)&nbsp;.*?<span class="rating_num" ' r'property="v:average">(?P<score>.*?)</span>.*? ' r'<span>(?P<num>.*?)人评价</span>', re.S) result = obj.finditer(resp.text) for item in result: dic = item.groupdict() dic['year'] = dic['year'].strip() print(dic) if __name__ == '__main__': for i in range(1, 11): page = (i - 1) * 25 if i == 1: url = "https://movie.douban.com/top250" get_movie_data(url) else: url = f"https://movie.douban.com/top250?start={page}&filter=" get_movie_data(url)

测试记录:
image.png

参考:

  1. https://www.bilibili.com/video/BV1wa41197X9
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论