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视频弹幕!
众所周知,弹幕,即在网络上观看视频时弹出的评论性字幕.不知道大家看视频的时候会不会点开弹幕,于我而言,弹幕是视频内容的良好补充,是一个组织良好的评论序列.通过分析弹幕,我们可以快速洞察广大观众对于视频 ...
随机推荐
- iptables临时控制某ip访问权限
iptables -A INPUT -p tcp -s {src_ip} --dport 80 -j ACCEPT iptables -A INPUT -p tcp -s {src_ip} --dpo ...
- 一秒出图?SDXL-Turbo实时AI绘画整合包下载
SDXL Turbo是一种快速生成的AI构图模型,它基于一种称为对抗性扩散蒸馏的新训练方法,该方法允许在1到4个步骤中以高图像质量对大规模基础图像扩散模型进行采样,并将其与对抗性损失相结合,以确保即使 ...
- 本地启动RocketMQ未映射主机名产生的超时问题
问题描述 参考RocketMQ官方文档在本地启动一个验证环境的时候遇到超时报错问题. 本地环境OS:CentOS Linux release 8.5.2111 首先,进入到RocketMQ安装目录,如 ...
- django项目中使用nginx+fastdfs上传图片和使用图片的流程
自定义文件存储类 1.先弄清楚django中默认的上传文件存储FileSystemStorage类 https://docs.djangoproject.com/zh-hans/2.2/ref/fil ...
- ubuntu18.04更换下载源
步骤一 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 步骤二 vim /etc/apt/sources.list 步骤三 # http ...
- Navicat安装包和激活工具
链接:https://pan.baidu.com/s/11YuOKdgGakt3E8CL80aA2g 提取码:h4f3
- VMware虚拟机Ubuntu系统连接网络过程
网络和Internet设置--高级网络设置--更多网络适配器选项--WLAN. 右键选择属性--共享,勾选允许连接,选择VMnet8.(若勾选了其它,之后再想换回来,可以先取消勾选,点确定,再进入勾选 ...
- Elasticsearch-Mapping(映射)
Elasticsearch-Mapping(映射) Mapping是用来定义一个文档(document),以及它所包含的属性(field)是如何存储和 索引的. 哪些字符串属性应该被看做全文本属性(f ...
- git修改地址三种方法
1.修改命令 git remote set-url origin [NEW_URL] 2.先删后加 git remote rm origin git remote add origin [url]3. ...
- 多个 .NET Core SDK 版本之间进行切换 global.json
由于同一台电脑可以安装多个版本的.NET Core SDK. 当安装了许多不同版本的.NET Core SDK 之后,要如何才能使用旧版dotnet 命令,执行dotnet new 或dotnet b ...