zoukankan      html  css  js  c++  java
  • 豆瓣爬虫实战

    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)#写入二进制数据#
    运行结果:

     

  • 相关阅读:
    I帧/P帧/B帧---术语解释
    利用forwardInvocation实现消息重定向
    doubango地址配置
    ARC使用小结
    NSException异常处理
    Runtime of Objective-C
    perl脚本框架整理
    模块——Getopt::Long接收客户命令行参数和Smart::Comments输出获得的命令行参数内容
    Linux学习进阶示意图
    Linux——入门命令
  • 原文地址:https://www.cnblogs.com/frlblog/p/12826802.html
Copyright © 2011-2022 走看看