• 爬取豆瓣电影


    爬取步骤:
    # 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)
    

      

  • 相关阅读:
    Linux下巧用my.cnf,mysql连接服务器不需要输入账号密码信息
    MySQL 5.6 my.cnf 参数说明
    Docker实战(七)之为镜像添加SSH服务
    Docker实战(六)之使用Dockerfile创建镜像
    Docker实战(五)之端口映射与容器互联
    Docker实战(四)之Docker数据管理
    Docker实战(三)之访问Docker仓库
    Docker实战(二)之操作Docker容器
    Docker实战(一)之使用Docker镜像
    ubuntu16.04之sudo问题
  • 原文地址:https://www.cnblogs.com/jackzz/p/10731658.html
Copyright © 2020-2023  润新知