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内置函数:lambda、map、filter简单介绍
Nov 16 Python
一百多行python代码实现抢票助手
Sep 25 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
对python实现模板生成脚本的方法详解
Jan 30 Python
python使用MQTT给硬件传输图片的实现方法
May 05 Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 Python
python网络爬虫 Scrapy中selenium用法详解
Sep 28 Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 Python
Python开发五子棋小游戏
May 02 Python
python内置模块之上下文管理contextlib
Jun 14 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 session劫持和防范的方法
2013/11/12 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
php返回json数据函数实例
2014/10/09 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
Yii框架中使用PHPExcel的方法分析
2019/07/25 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
firefox浏览器用jquery.uploadify插件上传时报HTTP 302错误
2015/03/01 Javascript
浅谈js中的闭包
2015/03/16 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
Python写入数据到MP3文件中的方法
2015/07/10 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
Python datetime模块使用方法小结
2020/06/18 Python
css3中检验表单的required,focus,valid和invalid样式
2014/02/21 HTML / CSS
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
应届毕业生个人自我评价
2013/09/20 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
药品业务员岗位职责
2014/04/17 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS