189 8069 5689

Python如何爬取爱奇艺电影信息-创新互联

这篇文章主要介绍Python如何爬取爱奇艺电影信息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联是专业的岳麓网站建设公司,岳麓接单;提供成都做网站、网站建设、外贸营销网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行岳麓网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

一,使用库

  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文件

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

Python如何爬取爱奇艺电影信息

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

Python如何爬取爱奇艺电影信息

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

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

    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)

    六,运行结果

    Python如何爬取爱奇艺电影信息

    Python如何爬取爱奇艺电影信息

    七,完整代码

    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()

    以上是“Python如何爬取爱奇艺电影信息”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


    网站标题:Python如何爬取爱奇艺电影信息-创新互联
    链接URL:http://cdxtjz.cn/article/hhopc.html
  • 其他资讯