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中的Django框架中prefetch_related()函数对数据库查询的优化
Apr 01 Python
在Python中使用PIL模块处理图像的教程
Apr 29 Python
Python中sort和sorted函数代码解析
Jan 25 Python
Python实现识别手写数字 简易图片存储管理系统
Jan 29 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
Mar 19 Python
python面向对象实现名片管理系统文件版
Apr 26 Python
Django和Flask框架优缺点对比
Oct 24 Python
opencv-python 读取图像并转换颜色空间实例
Dec 09 Python
python ubplot使用方法解析
Jan 10 Python
如何使用selenium和requests组合实现登录页面
Feb 03 Python
python中元组的用法整理
Jun 15 Python
用python读取xlsx文件
Dec 17 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
FleaPHP的安全设置方法
2008/09/15 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
JavaScript 获取事件对象的注意点
2009/07/29 Javascript
javscript对象原型的一些看法
2010/09/19 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
使用JavaScript开发IE浏览器本地插件实例
2015/02/18 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
javascript实现二叉树的代码
2017/06/08 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
Python深入学习之闭包
2014/08/31 Python
Python读写unicode文件的方法
2015/07/10 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
Python求凸包及多边形面积教程
2020/04/12 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
毕业生毕业总结的自我评价范文
2013/11/02 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
2015年父亲节寄语
2015/03/23 职场文书
步步惊心观后感
2015/06/12 职场文书
赡养老人协议书范本
2015/08/06 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python