xpath解析爱奇艺电影网页数据
1 url='https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi--.html'
2 headers={
3 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
4 'Chrome/90.0.4430.93 Safari/537.36'
5 }
6 #获取爱奇艺电影大全主界面response
7 response=requests.get(url=url,headers=headers)
8 response.encoding='utf-8'
9 #获取页面的全部html
10 page_text=response.text
11 # html=BeautifulSoup(page_text,"lxml")
12 # bs_li=html.find_all('li',class_="qy-mod-li")
13 # print(bs_li)
14 #打印输出页面html
15 # print(page_text)
16 #实例化xpath对象
17 etree_=etree.HTML(page_text)
18 #获取电影的所有li标签
19 ul_list=etree_.xpath('//ul[@class="qy-mod-ul"]/li')
20 # print(ul_list[0])
21 temp_list=[] #声明一个list存储单部电影的所有信息
22 dataRes=[] #声明一个总list存储所有的电影
23 #BeautifulSoup 解析播放状态
24 # findState=re.compile(r'"<img src="(.*?)"')
25 # for li in bs_li:
26 # words=str(li)
27 # print(words)
28 # temp_state=re.findall(findState,words)
29 # print(temp_state)
30
31 for li in ul_list:
32 name=li.xpath('./div/div[2]/p[1]/a/@title') #获取电影名字
33 score = li.xpath('./div/div[2]/p[1]/span/text()') # 获取电影评分
34 link=li.xpath('./div/div[2]/p[1]/a/@href') #获取电影链接
35 if(len(score)==0): #如果评分信息没有 重新赋值
36 score="暂无评分"
37 if (len(link) == 0): # 如果链接信息没有 重新赋值
38 score = "#"
39 link=str.replace(link[0],"//","") #因为链接是带有 这样 // 的两个斜杠 所以要替换一下
40 #解析播放状态
41 #//*[@id="block-D"]/ul/li[5]/div/div[1]/a/div[2]/img
42 state=li.xpath('./div/div[1]/a/div[2]/img/@src')
43 # print(state)
44 temp_list.append(name[0])
45 temp_list.append(score[0])
46 temp_list.append(link)
47
48 # print(temp_list)
49 dataRes.append(temp_list) #把爬取到的每一部电影存到总list中也就是 dataRes
50 temp_list=[] #给单部电影list重新赋值为空list
51 print(dataRes)

xpath解析爱奇艺电影网页数据的更多相关文章
- 使用selenium 多线程爬取爱奇艺电影信息
使用selenium 多线程爬取爱奇艺电影信息 转载请注明出处. 爬取目标:每个电影的评分.名称.时长.主演.和类型 爬取思路: 源文件:(有注释) from selenium import webd ...
- 爱奇艺用券付费VIP电影+python爬虫程序+可视化界面+下载本地
申明:本博客中的工具及源码仅供个人学习使用,请勿用作商业等其他任何违法用途!否则后果自负 直接步入正题吧! 工具开发环境:windows10,python3.6 工具界面设计:基于python 自带的 ...
- 如何利用python爬虫爬取爱奇艺VIP电影?
环境:windows python3.7 思路: 1.先选取你要爬取的电影 2.用vip解析工具解析,获取地址 3.写好脚本,下载片断 4.将片断利用电脑合成 需要的python模块: ##第一 ...
- 干货|爱奇艺CDN巡检系统技术解析
小结: 1. 中心处理系统 /1/将定制后的巡检任务拆分,通过配置与任务分发系统.CMDB*( configuration management database)将派发到边缘拨测系统/2/处理边缘拨 ...
- 爱奇艺、伤酷、乐视 vip 解析视频网站
爱奇艺.伤酷.乐视 vip 解析视频网站 :http://www.nongshenghuo.com:805
- 2019上海爱奇艺大数据Java实习生-面试记录
目录 一轮 电话面试 二轮 代码笔试 三轮 技术面试 总结 附:电话面试问题点解惑 补充:面试未通过 一轮 电话面试 2019.04.28 16:21 [w]:面试官,[m]:我,下面的内容来自电话录 ...
- 如何下载哔哩哔哩、爱奇艺、腾讯视频、优酷、斗鱼、TED、YouTube网页视频
这里使用you-get工具进行下载 github地址:https://github.com/soimort/you-get/ github项目文档:https://github.com/soimort ...
- Python爬虫实战案例:爬取爱奇艺VIP视频
一.实战背景 爱奇艺的VIP视频只有会员能看,普通用户只能看前6分钟.比如加勒比海盗5的URL:http://www.iqiyi.com/v_19rr7qhfg0.html#vfrm=19-9-0-1 ...
- 爱奇艺技术分享:爱奇艺Android客户端启动速度优化实践总结
本文由爱奇艺技术团队原创分享,原题<爱奇艺Android客户端启动优化与分析>. 1.引言 互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Andro ...
- 用Python爬取B站、腾讯视频、爱奇艺和芒果TV视频弹幕!
众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一个组织良好的评论序列.通过分析弹幕,我们可以快速洞察广大观众对于视频 ...
随机推荐
- P1536 村村通(并查集)
村村通 题目描述 某市调查城镇交通状况,得到现有城镇道路统计表.表中列出了每条道路直接连通的城镇.市政府 "村村通工程" 的目标是使全市任何两个城镇间都可以实现交通(但不一定有直接 ...
- sentry-native 在 windows 平台上搭建
官方文档:https://github.com/getsentry/sentry-native 虽说官方文档有搭建步骤,奈何我用 git bash 试了 n 遍,最终都会报一大堆错误,白白浪费了我快一 ...
- Linux驱动开发笔记(三):基于ubuntu的helloworld驱动源码编写、makefile编写以及驱动编译加载流程测试
前言 前面学习了驱动的基础框架,上一篇编译了gcc7.3.0,那么为了方便很好的熟悉流程,本篇,将使用ubuntu18.04,直接编译ubuntu18.04的驱动,然后做好本篇文章的相关实战测试. ...
- Hi3516开发笔记(九):在QtCreator开发环境中引入海思sdk的bsp包,运行显示Qt界面
前言 之前启动Qt界面程序失败了,是因为需要引入HiSDK的BSP中的HiMPP,并对HiMPP进行初始化设置. 在sdk中查询海思SDK头文件和库 在Qt中调用海思BSP 在 ...
- 项目实战:C#上位机+arduino下位机+控制点亮LED灯
前言 当前比较流行的arduino开发,联动做一个Demo. 应用构架 上位机:C#上位机通过串口发送接收控制协议,来控制下位机: 下位机:arduino下位机主控,接受上位机串口协议控 ...
- os.path.relpath和os.path.basename,返回文件路径中的文件名
from os import path print(path.relpath("/home/hpcadmin/lw/demo.py", start="/home/hpca ...
- linux服务器界面初始--day01
linux服务器界面初始 ip add show 查看服务器网卡信息还可以使用ifconfig 局域网ip: 192.168.1.0 10.0.0.0 172.16.1.0 如果网卡没有启用,我们需要 ...
- Taurus.MVC WebMVC 入门开发教程3:数据绑定Model
前言: 在这篇 Taurus.MVC WebMVC 入门开发教程的第三篇文章中, 我们将重点介绍如何进行数据绑定操作,还会学习如何使用 ${属性名称} CMS 语法来绑定页面上的元素与 Model 中 ...
- STL-RBTree模拟实现
#pragma once #include<assert.h> #include<iostream> using std::cout; using std::endl; usi ...
- 搞清楚Promise.all的异常处理
参考资料: https://www.jianshu.com/p/356f10ee476d https://blog.csdn.net/aaqingying/article/details/122966 ...