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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
用python + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
Python随机生成信用卡卡号的实现方法
May 14 Python
Python内置模块logging用法实例分析
Feb 12 Python
TensorFlow模型保存/载入的两种方法
Mar 08 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
Jun 09 Python
pandas把所有大于0的数设置为1的方法
Jan 26 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
django实现模型字段动态choice的操作
Apr 01 Python
keras的backend 设置 tensorflow,theano操作
Jun 30 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
May 21 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实现采集程序原理和简单示例代码
2007/03/18 PHP
php下使用SMTP发邮件的代码
2008/01/10 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
php格式文件打开的四种方法
2018/02/24 PHP
一个刚完成的layout(拖动流畅,不受iframe影响)
2007/08/17 Javascript
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
vue+axios全局添加请求头和参数操作
2020/07/24 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
flask-restful使用总结
2018/12/04 Python
详解重置Django migration的常见方式
2019/02/15 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
感恩母亲节演讲稿
2014/05/07 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android