栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

猫眼电影场次信息获取并保存至json文件

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

猫眼电影场次信息获取并保存至json文件

这回我们具体的对数据获取进行介绍,页面中不同电影、日期的场次信息都是不同的,所以我们需要分级获取,我们按照如下形式排布:

'''
    movie_session = [不同电影的场次数据
 {movie_name: ...
  result:[每一天的场次数据
     {
  date: ...
  session_result:[当天的场次数据
      {},
      {}....
  ] 
     }
  ]
 }
    ]:每部电影的数据
'''

1. 获取当天的场次信息

首先遍历当天所有场次,获取到对应的信息添加进列表,以日期为区分分隔,当循环结束后加入新的列表返回

session_list = today.xpath('.//table/tbody/tr')
    # 当天每个场次
    for session in session_list:
 begin_time = session.xpath('.//span[@class="begin-time"]/text()')[0]
 end_time = session.xpath('.//span[@class="end-time"]/text()')[0]
 lang = session.xpath('.//span[@class="lang"]/text()')[0]
 hall = session.xpath('.//span[@class="hall"]/text()')[0]
 session_result.append({
     "date": re.findall('d+', time_list[num])[0] + '-' + re.findall('d+', time_list[num])[1],
     "begin_time": begin_time,
     "end_time": end_time,
     "lang": lang,
     "hall": hall
 })
    result.append({
 "date": re.findall('d+', time_list[num])[0] + '-' + re.findall('d+', time_list[num])[1],
 "session_result": session_result
      })

2. 获取某电影的所有场次信息

获取该电影下的日期信息,遍历所有日期,调用上面所写的获取当天数据方法获取所有天数的场次数据添加至列表当中返回

 #所有场次天数
    days = movie.xpath('.//div[contains(@class, "plist-container")]')
    for day in days:
 result.append(getToday(day, time_list, days.index(day)))
 # print(movie_result)
    movie_session.append({
 "movie_name": movie_name,
 "star": star,
 "result": result
    })

3. 遍历所有电影并进行数据添加

对电影对象进行遍历,调用上述方法获取数据并写入文件

movies_list = html.xpath('//div[contains(@class, "show-list")]')

    #每一部电影数据
    for movie in movies_list:
 tmp_result.append(get_MovieData(movie)[0])
    with open('files/' + cinema_name + '.json', 'a+', encoding='utf-8') as f:
 f.write(json.dumps(tmp_result, ensure_ascii=False, indent=2))

  • 具体代码
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/219957.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号