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检测网站链接是否已存在
Apr 07 Python
使用Python3 编写简单信用卡管理程序
Dec 21 Python
Python 2.x如何设置命令执行的超时时间实例
Oct 19 Python
Python使用SQLite和Excel操作进行数据分析
Jan 20 Python
Python3自动签到 定时任务 判断节假日的实例
Nov 13 Python
python时间序列按频率生成日期的方法
May 14 Python
python 变量初始化空列表的例子
Nov 28 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
django自带的权限管理Permission用法说明
May 13 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
Jul 30 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 05 Python
Python 把两层列表展开平铺成一层(5种实现方式)
Apr 07 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
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
些很实用且必用的小脚本代码
2006/06/26 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
VUE中的无限循环代码解析
2017/09/22 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
微信小程序App生命周期详解
2018/01/31 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
详解微信小程序实现WebSocket心跳重连
2018/07/31 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
JS实现轮播图效果
2020/01/11 Javascript
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
销售员自我评价怎么写
2013/09/19 职场文书
毕业生就业自荐书
2013/12/15 职场文书
安全第一课观后感
2015/06/18 职场文书
导游词之永济鹳雀楼
2020/01/16 职场文书
python本地文件服务器实例教程
2021/05/02 Python
Redis集群的关闭与重启操作
2021/07/07 Redis
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js