基于Python爬取爱奇艺资源过程解析


Posted in Python onMarch 02, 2020

像iqiyi这种视频网站,现在下载视频都需要下载相应的客户端。那么如何不用下载客户端,直接下载非vip视频?

选择你想要爬取的内容

该安装的程序以及运行环境都配置好

下面这段代码就是我在爱奇艺里搜素“英文名”,然后出来的视频,共有20页,那么我们便从第一页开始,解析网页,然后分析

分析每一页网址,找出规律就可以直接得到所有页面

然后根据每一个视频的URL的标签,如'class' 'div' 'href'......通过bs4库进行爬取

而其他的信息则是直接循环所爬取到的URL,在每一个里再通过标签去找

import requests
import pandas as pd
from bs4 import BeautifulSoup

#爬取URL 
headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36'}
b=[]
for i in range(1,2):
  url="https://so.iqiyi.com/so/q_英文名_ctg_t_0_page_"+str(i)+"_p_1_qc_0_rd__site__m_1_bitrate_"  #共20页,根据每页的网址变换规律进行拼接
  r=requests.get(url,headers=headers)  
  soup=BeautifulSoup(r.text,"html.parser")
  a=soup.findAll('a',{'class':'main-tit'}) 
  for i in a:
    if 'http://www.'in i.get('href')and 'html'in i.get('href'):
      b.append(i.get('href'))
print(b)


#爬取标题
e=[]
for k in b:
  res=requests.get(k,headers=headers)
  Soup=BeautifulSoup(res.text,'html.parser')
  c=Soup.findAll('div',{'class':'feed-title-box'})
  for d in c:
    e.append(d.find('h1').text) 
print(e)

#爬取标题下方描述
f=[]
for j in b:
  res=requests.get(j,headers=headers)
  Soup=BeautifulSoup(res.text,'html.parser')
  c=Soup.findAll('div',{'class':'qy-play-intro-feed'})
  for d in c:
    f.append(d.find('p',{'class':"intro-iterm__block"}).text)
print(f)


#爬取发布时间
h=[]
for j in b:
  res=requests.get(j,headers=headers)
  Soup=BeautifulSoup(res.text,'html.parser')
  c=Soup.findAll('div',{'class':'intro-iterm'})
  for d in c:
    ff=(d.find('span',{'class':"intro-iterm__txt"}))
    if ff==None:
      continue
  h.append(ff.text)
print(h)

# 爬取上传作者
m=[]
for k in b:
  res=requests.get(k,headers=headers)
  Soup=BeautifulSoup(res.text,'html.parser')
  c=Soup.find('div',{'id':'block-P'})
  d=Soup.find('div',{'class':'qy-player-maker'})
  try:
    name=c.get(':uploader').split(',')[1].split(':')[1].replace('"','')#输出是字符串的格式,所以用split切割。replace替换
  except:
    try:
      name=d.get(':uploader').split(',')[1].split(':')[1].replace('"','')
    except:
      m.append("匿名用户")
  m.append(name)
print(m)

上面的代码输出结果便是英文名的所有网址及其视频中的一些信息

这里我需要讲一下的是,为什么在爬取作者信息的模块里我采取了try的方法,因为在我爬取的过程中我发现,有的视频的上传作者在视频左下方,有的在视频的右下方,有的视频干脆没有上传作者。

同样的,你想要爬取其他内容也可以用这种方法获取URL和他的其他信息

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python操作摄像头截图实现远程监控的例子
Mar 25 Python
python根据文件大小打log日志
Oct 09 Python
在Python下利用OpenCV来旋转图像的教程
Apr 16 Python
python DataFrame 修改列的顺序实例
Apr 10 Python
pyqt5的QComboBox 使用模板的具体方法
Sep 06 Python
Python3.5面向对象与继承图文实例详解
Apr 24 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
如何使用Python 打印各种三角形
Jun 28 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
Django 解决阿里云部署同步数据库报错的问题
May 14 Python
Python中对象的比较操作==和is区别详析
Feb 12 Python
Python3 如何开启自带http服务
May 18 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 #Python
Python处理mysql特殊字符的问题
Mar 02 #Python
新手入门学习python Numpy基础操作
Mar 02 #Python
python中数据库like模糊查询方式
Mar 02 #Python
python读取文件指定行内容实例讲解
Mar 02 #Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 #Python
python判断两个序列的成员是否一样的实例代码
Mar 01 #Python
You might like
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
深入了解JavaScript 的 WebAssembly
2019/06/15 Javascript
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
js实现计算器功能
2020/08/10 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
Python转换HTML到Text纯文本的方法
2015/01/15 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
python中如何打包用户自定义模块
2020/09/23 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
安全员岗位职责
2013/11/11 职场文书
旷课检讨书范文
2014/10/30 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python