当前位置 博文首页 > 秃头小苏的博客:简单爬取豆瓣电影相关信息

    秃头小苏的博客:简单爬取豆瓣电影相关信息

    作者:[db:作者] 时间:2021-08-29 22:33

    平台: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文件内容

    在这里插入图片描述

    cs