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在windows下实现备份程序实例
Jul 04 Python
Python的装饰器模式与面向切面编程详解
Jun 21 Python
简单了解Python中的几种函数
Nov 03 Python
Python+tkinter模拟“记住我”自动登录实例代码
Jan 16 Python
win10下tensorflow和matplotlib安装教程
Sep 19 Python
通过python将大量文件按修改时间分类的方法
Oct 17 Python
Python读取excel指定列生成指定sql脚本的方法
Nov 28 Python
Python3数字求和的实例
Feb 19 Python
Python爬虫程序架构和运行流程原理解析
Mar 09 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
Oct 16 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 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导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
Javascript实现获取窗口的大小和位置代码分享
2014/12/04 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
ztree实现权限横向显示功能
2017/05/20 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
vue路由跳转传参数的方法
2019/05/06 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
Python装饰器用法示例小结
2018/02/11 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
详解如何设置Python环境变量?
2019/05/13 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
基于Python计算圆周率pi代码实例
2020/03/25 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
为什么python比较流行
2020/06/19 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
澳大利亚相机之家:Camera House
2017/11/30 全球购物
环境工程专业自荐信
2014/03/03 职场文书
工作目标责任书
2014/07/23 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书