获取豆瓣电影json数据

from urllib import request
from urllib import parse
import os


def load_page(url):
    """发送请求加载页面"""
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36'}
    # 构造请求
    req = request.Request(url, headers=headers)
    try:
        # 发送请求
        response = request.urlopen(req)
        if response.getcode() == 200:
            json_data = response.read().decode()
            print(json_data)
            if not os.path.exists('./data'):
                os.mkdir('./data')
            file_path = os.path.join('./data', 'douban.json')
            with open(file_path, 'w',encoding='utf-8') as fp:
                fp.write(json_data)
        else:
            print('请求出错')
    except Exception as err:
        print(err)


def spider():
    """爬虫程序"""
    base_url = 'https://movie.douban.com/j/new_search_subjects?'
    # 构造关键字  请求需要带上的参数
    key_words = {
        "sort": "T",  # 排序的方式
        "range": "0,10",  # 电影评分的范围
        "tags": "电影,剧情,美国",  # 检索的标签
        #"playable": "1",  # 是否可以播放
        "start": "0",  # 检索的开始位置  (这里可以去改变的 从0 开始 一个电影代表的是一条数据)
        "genres": "喜剧",#类型
        "countries": "中国大陆", # 国家地区
    }
    # 编码
    key_words = parse.urlencode(key_words)
    url = base_url + key_words
    # 调用函数
    load_page(url)


def main():
    """程序主函数"""
    print('main')
    spider()


if __name__ == "__main__":
    print('main')
    main()



猜你喜欢

转载自blog.csdn.net/lzz781699880/article/details/89142309
今日推荐