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实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
python模拟鼠标拖动操作的方法
Mar 11 Python
Python的SQLAlchemy框架使用入门
Apr 29 Python
Python提取网页中超链接的方法
Sep 18 Python
分享一下如何编写高效且优雅的 Python 代码
Sep 07 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
bluepy 一款python封装的BLE利器简单介绍
Jun 25 Python
Pytest参数化parametrize使用代码实例
Feb 22 Python
在TensorFlow中实现矩阵维度扩展
May 22 Python
为什么说python更适合树莓派编程
Jul 20 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快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
PHP7 标准库修改
2021/03/09 PHP
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
bootstrap模态框跳转到当前模板页面 框消失了而背景存在问题的解决方法
2020/11/30 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
python实现在每个独立进程中运行一个函数的方法
2015/04/23 Python
Python闭包实现计数器的方法
2015/05/05 Python
Python字符串逐字符或逐词反转方法
2015/05/21 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
python tkinter canvas使用实例
2019/11/04 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
生物技术研究生自荐信
2013/11/12 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
市场专员岗位职责
2014/02/14 职场文书
关于青春的演讲稿800字
2014/08/22 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
稽核岗位职责范本
2015/04/13 职场文书
导游词之唐山景点
2019/12/18 职场文书
PHP实现考试倒计时功能代码
2021/04/16 PHP
pytorch 如何使用float64训练
2021/05/24 Python
SQL Server中搜索特定的对象
2022/05/25 SQL Server