• 爬取豆瓣电影


    爬取步骤:
    # 1、#找到url地址 # url = "https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=0" # 2、解析URL,得到网页源码 # 3、从网页源代码里提取数据 # 4、保存数据
    # -*- coding: utf-8 -*-
    # @Author  : Jackzz
    
    import requests,json
    
    # 1、#找到url地址
    # url = "https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=0"
    # 2、解析URL,得到网页源码
    # 3、从网页源代码里提取数据
    # 4、保存数据
    def douban_spider(word,start_url):
        # word = input("请输入你想要获取的电影类型(热门、最新、经典、可播放、冷门佳片、华语、欧美、韩国、日本、动作、喜剧、爱情、科幻、悬疑、恐怖、动画)
    : ")
        # start_url = "https://movie.douban.com/j/search_subjects?type=movie&tag="+word+"&sort=recommend&page_limit=20&page_start={}"
        # start_url ="https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start={}"
    
        with open('douban.csv','a') as f:
            f.write('电影名,主页信息,评分,图片链接
    ') #注意逗号打成中文的不会报错,4个内容写到一列而无法写入到不同4列
            #2、解析URL,得到网页源码,所有电影信息都在XHR 数据中
            for i in range(25):#想爬几页这里设置改range数据
                url= start_url.format(i*20)    #url的&page_start=0 加载更多这里数值+20的变化
                # print(url)
                r = requests.get(url=start_url) #
                # #page_code=r.content  page_code是页面源码,但他是一个二进制类型数据
                ret = r.content.decode()#为字符串类型
                # # 3、从网页源代码里提取数据
                result = json.loads(ret)
                res = result['subjects'] #XHR 加载内容查看到是subjects:[{rate: "7.0", cover_x: 7142, title: "飞驰人生", url: "https://movie.douban.com/subject/30163509/",…},…]
                for i in res:
                    title = i['title'] #电影名
                    url = i['url'] #主页地址
                    rate = i['rate'] #评分
                    cover = i['cover'] #图片地址
                    # 4、保存数据
                    f.write('{},{},{},{}
    '.format(title,url,rate,cover,))
    
    
    
    
    if __name__ == '__main__':
        word = input("请输入你想要获取的电影类型(热门、最新、经典、可播放、冷门佳片、华语、欧美、韩国、日本、动作、喜剧、爱情、科幻、悬疑、恐怖、动画)
    : ")
        start_url = "https://movie.douban.com/j/search_subjects?type=movie&tag=" + word + "&sort=recommend&page_limit=20&page_start={}"
        douban_spider(word,start_url)
    

      

  • 相关阅读:
    docker 目录移动到其他磁盘的操作
    linux -- 查看磁盘空间的大小 查看文件夹占用磁盘空间大小
    python flask 反向代理
    shell 脚本换行符的问题
    uniapp使用web-view跳转vue单页面通信,互发消息
    java基础(多线程---lambda)
    SpringBoot开发详解(五)--Controller接收参数以及参数校验
    使用 TypeScript 来开发 React 的注意事项
    video标签通过js实现增加倍速播放功能
    zblog调取置顶文章
  • 原文地址:https://www.cnblogs.com/jackzz/p/10731658.html
Copyright © 2020-2023  润新知