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

举报
秃头小苏 发表于 2022/05/22 11:03:04 2022/05/22
6.1k+ 0 0
【摘要】 平台: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

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

    全部回复

    上滑加载中

    设置昵称

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

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

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