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 相关文章推荐
pydev使用wxpython找不到路径的解决方法
Feb 10 Python
Eclipse + Python 的安装与配置流程
Mar 05 Python
Python使用新浪微博API发送微博的例子
Apr 10 Python
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
python连接mysql实例分享
Oct 09 Python
python3学习之Splash的安装与实例教程
Jul 09 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
python 求一个列表中所有元素的乘积实例
Jun 11 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
python爬取盘搜的有效链接实现代码
Jul 20 Python
解决python调用自己文件函数/执行函数找不到包问题
Jun 01 Python
Django后端分离 使用element-ui文件上传方式
Jul 12 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/01/02 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
PHP中两个float(浮点数)比较实例分析
2015/09/27 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
对联广告js flash激活
2006/10/19 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
javascript 闭包详解
2015/02/15 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
微信小程序如何加载数据库真实数据的实现
2020/03/04 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
柏林通行证:Berlin Pass
2018/04/11 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
写自荐信要注意什么
2013/12/26 职场文书
火灾现场处置方案
2014/05/28 职场文书
幼儿园六一儿童节活动方案
2014/08/26 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
小程序教您怎样你零成本推广获取数万用户的方法
2019/07/30 职场文书
创业计划书之冷饮店
2019/09/27 职场文书