简单爬取豆瓣电影相关信息

举报
秃头小苏 发表于 2022/05/22 11:03:04 2022/05/22
【摘要】 平台:pycharm目标:爬取豆瓣网页电影名称,评分等信息,并存储存在csv文件中 代码(代码中的url和headers获取方法在下)import reimport requestsimport csv#拿到页面源代码url = "https://movie.douban.com/chart"headers = {"user-agent": "Mozilla/5.0 (Windows NT ...

平台:pycharm
目标:爬取豆瓣网页电影名称,评分等信息,并存储存在csv文件中

代码(代码中的url和headers获取方法在下)

import re
import requests
import csv


#拿到页面源代码
url = "https://movie.douban.com/chart"
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"}

resq = requests.get(url=url,headers = headers)

page_content = resq.text


#通过re提取想要的有效信息
#解析数据

#预加载正则
obj = re.compile(r' <table width="100%" class="">.*?title="(?P<name>.*?)">'
                 r'.*?<span class="rating_nums">(?P<grade>.*?)</span>'
                 r'.*?<span class="pl">(?P<review>.*?)</span>',re.S)

res = obj.finditer(page_content)
f = open("data.csv",mode="w")
csvwriter = csv.writer(f)

for it in res:
    # print(it.group("name"))
    # print(it.group("grade"))
    # print(it.group("review"))
    dic = it.groupdict()
    csvwriter.writerow(dic.values())

f.close()
resq.close()

1、首先、随便找一个豆瓣网页,获取其url,如图
在这里插入图片描述
2、拿到请求头中的user-agent,步骤如下:

ctrl+shift+I或右键检测(谷歌浏览器)导出检查界面,点击Network,先刷新一下网页,在Name栏会显示许多信息,随意点击一个,之后在Headers内下滑找到user-agent,复制其内容至代码的headers。具体如图所示:

在这里插入图片描述

3、之后通过查看网页源代码使用正则表达式对需要的信息进行获取(正则表达式不明白的可查阅相关资料)
4、将文件存储在CSV文件中

最终csv文件内容

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。