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扫描IP段查看指定端口是否开放的方法
Jun 09 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
django中静态文件配置static的方法
May 20 Python
Python 忽略warning的输出方法
Oct 18 Python
python实现简易数码时钟
Feb 19 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
Python装饰器用法与知识点小结
Mar 09 Python
如何使用python切换hosts文件
Apr 29 Python
python中如何设置代码自动提示
Jul 15 Python
python 三种方法提取pdf中的图片
Feb 07 Python
Python实现老照片修复之上色小技巧
Oct 16 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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初学者头疼问题总结
2006/10/09 PHP
由php的call_user_func传reference引发的思考
2010/07/23 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
2013/06/23 PHP
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
jsTree使用记录实例
2016/12/01 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
在python中创建指定大小的多维数组方式
2019/11/28 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
中国制造网:Made-in-China.com
2019/10/25 全球购物
校园十大歌手策划书
2014/02/01 职场文书
房地产财务管理制度
2014/02/02 职场文书
农村婚庆司仪主持词
2014/03/15 职场文书
微笑服务标语
2014/06/24 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
JavaScript前端面试组合函数
2022/06/21 Javascript