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


Posted in Python onNovember 26, 2019

这篇文章主要介绍了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文件

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

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

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

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

可以分析出,每部电影的信息都在一个<li>标签内,用正则表达式解析:

def parse_page(html):
  pattern = re.compile('<li.*?qy-mod-li.*?text-score">(.*?)<.*?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('<li.*?qy-mod-li.*?text-score">(.*?)<.*?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 类与元类的深度挖掘 I【经验】
May 06 Python
python制作企业邮箱的爆破脚本
Oct 05 Python
python利用OpenCV2实现人脸检测
Apr 16 Python
目前最全的python的就业方向
Jun 05 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
pandas计算最大连续间隔的方法
Jul 04 Python
详解python中的模块及包导入
Aug 30 Python
Python利用Scrapy框架爬取豆瓣电影示例
Jan 17 Python
python 实现字符串下标的输出功能
Feb 13 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
Python实战之疫苗研发情况可视化
May 18 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
Nov 26 #Python
浅谈python已知元素,获取元素索引(numpy,pandas)
Nov 26 #Python
Python如何使用BeautifulSoup爬取网页信息
Nov 26 #Python
python实现在多维数组中挑选符合条件的全部元素
Nov 26 #Python
Python实现图片添加文字
Nov 26 #Python
从numpy数组中取出满足条件的元素示例
Nov 26 #Python
python实现图片上添加图片
Nov 26 #Python
You might like
改变Apache端口等配置修改方法
2008/06/05 PHP
PHP 缓存实现代码及详细注释
2010/05/16 PHP
PHP实现邮件群发的源码
2013/06/18 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
xmlHTTP实例
2006/10/24 Javascript
给Function做的OOP扩展
2009/05/07 Javascript
yepnope.js 异步加载资源文件
2011/09/08 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
Python break语句详解
2014/03/11 Python
Python程序设计入门(5)类的使用简介
2014/06/16 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
python如何实现递归转非递归
2021/02/25 Python
微信营销策划方案
2014/02/24 职场文书
学习两会精神心得范文
2014/03/17 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
教育实习指导教师评语
2014/12/31 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
上级领导检查欢迎词
2015/09/30 职场文书
外出考察学习心得体会
2016/01/18 职场文书
详解JVM系列之内存模型
2021/06/10 Javascript