• 豆瓣爬虫实战


    import re,requests,json
    headers = {'Referer':'https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%83%85%E7%89%87&type=11&interval_id=100:90&action=1',#向服务器表示从哪个页面发起的请求#
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'#user-agent:表示系统以及浏览器型号
    }#爬虫伪装#

    for i in range(0,100):
    res=requests.get("https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start="+str(i)+"&limit=1",headers=headers) #i对应表示电影排名的json文件#
    res.encoding = "UTP-8"
    re_dict=re.compile(r"{.*}")#正则表达式过滤数据#
    dict=re_dict.search(res.text)
    rank=dict.group()
    rank_movie_dict=json.loads(rank)#将过滤数据转为python对象 并放入词典#

    print(rank_movie_dict["title"])
    for j in rank_movie_dict["actors"]:
    print(j + "/", end="")
    print(" ")

    print(rank_movie_dict["release_date"] + "/", end="")
    for j in rank_movie_dict["regions"]:
    print(j + "/", end="")
    print(" ")

    for j in rank_movie_dict["types"]:
    print(j + "/",end="")
    print(" ")
    print("评分:" + str(rank_movie_dict["score"]) + "评分人数" + str(rank_movie_dict["vote_count"]))
    print("_______________________________________________________")

    img_url=rank_movie_dict["cover_url"]#获取图片地址#
    res_img=requests.get(img_url,headers=headers)
    res_img.raise_for_status()
    with open(".\豆瓣电影图片\" + rank_movie_dict["title"] + ".jpg", "wb") as p:
    p.write(res_img.content)#写入二进制数据#
    运行结果:

     

  • 相关阅读:
    POJ 3164 Command Network 最小树形图 朱刘算法
    区间dp专题
    HDU2896病毒入侵AC_自动机
    HDU2222Keywords Search AC_自动机
    Linux cat命令参数及使用方法详解
    MySQL分支Percona, cmake编译安装
    PHP网站简单架构 – 单独跑php-fpm
    Tengine – Nginx衍生版
    jemalloc优化MySQL、Nginx内存管理
    TCMalloc优化MySQL、Nginx、Redis内存管理
  • 原文地址:https://www.cnblogs.com/frlblog/p/12826802.html
Copyright © 2020-2023  润新知