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

Python爬取爱奇艺电影信息代码实例

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

Python爬取爱奇艺电影信息代码实例

这篇文章主要介绍了Python爬取爱奇艺电影信息代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一,使用库

  1.requests

  2.re

  3.json

二,抓取html文件

def get_page(url):
  response = requests.get(url)
  if response.status_code == 200:
    return response.text
  return None

三,解析html文件

我们需要的电影信息的部分如下图(评分,片名,主演):

抓取到的html文件对应的代码:

可以分析出,每部电影的信息都在一个

  • 标签内,用正则表达式解析:

    def parse_page(html):
      pattern = re.compile('(.*?)<.*?title.*?>(.*?)<.*?title.*?>(.*?)<', re.S)
      items = re.findall(pattern, html)
      for item in items:#转换为字典形式保存
        yield {
          'score': item[0],
          'name': item[1],
          'actor': item[2].strip()[3:]#将‘主演:'去掉
        }

    四,写入文件

    def write_to_file(content):
      with open('result.txt', 'a', encoding='utf-8')as f:
        f.write(json.dumps(content, ensure_ascii=False) + 'n')#将字典格式转换为字符串加以保存,并设置中文格式
        f.close()

    五,调用函数

    def main():
      url = 'https://list.iqiyi.com/www/1/-------------8-1-1-iqiyi--.html'
      html = get_page(url)
      for item in parse_page(html):
        print(item)
        write_to_file(item)

    六,运行结果

    七,完整代码

    import json
    import requests
    import re
    
    
    # 抓取html文件
    # 解析html文件
    # 存储文件
    
    
    def get_page(url):
      response = requests.get(url)
      if response.status_code == 200:
        return response.text
      return None
    
    
    def parse_page(html):
      pattern = re.compile('(.*?)<.*?title.*?>(.*?)<.*?title.*?>(.*?)<', re.S)
      items = re.findall(pattern, html)
      for item in items:
        yield {
          'score': item[0],
          'name': item[1],
          'actor': item[2].strip()[3:]
        }
    
    
    def write_to_file(content):
      with open('result.txt', 'a', encoding='utf-8')as f:
        f.write(json.dumps(content, ensure_ascii=False) + 'n')
        f.close()
    
    def main():
      url = 'https://list.iqiyi.com/www/1/-------------8-1-1-iqiyi--.html'
      html = get_page(url)
      for item in parse_page(html):
        print(item)
        write_to_file(item)
    if __name__ == '__main__':
      main()

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

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

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

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