其它360影视列表采集
功能说明:本程序是一个基于易语言(E-Language)开发的桌面应用程序,主要用于自动化采集互联网特定视频站点(代码明确指向 v.360.cn)的电影列表数据,并在本地图形化界面中进行分页浏览和资源链接的获取。以下是对该程序功能的详细技术分析:
一、程序核心架构与主要流程
1. 初始化与启动:
程序在启动窗口创建完毕时(`.子程序 __启动窗口_创建完毕`),会立即初始化分页变量(初始第 1 页,共 20 页),更新界面标签,并调用数据采集函数。为了防止长时间的网络请求导致界面卡顿,程序设计了 `创建采集线程`,暗示其采用了多线程机制来执行后台任务。启动时会在状态栏显示“电影节目加载中”的提示。
2. 数据采集与解析:
在“通用程序集”中定义的 `.子程序 采集` 是程序的核心引擎之一。它实例化了 `MSXML2.XMLHTTP` 对象,向 `http://v.360.cn/dianying/list.php` 发送 GET 请求,参数包含页码(`pageno`)、分类、年份等筛选条件。获取响应后,将字节集转换为文本返回。另一部分未完全展示的 `.子程序 加入影片` 显然是配合正则表达式库(RegEx)对采集回来的数据进行清洗和结构化处理,提取出影片名称、地址和图片 URL,存入全局数组(如 `影片名称 `、` 影片地址`、` 影视图片`)。
3. 界面动态渲染:
`.子程序 创建框架` 负责 UI 的实时生成。程序计算影片总数,根据设定的行宽(` 行数 = 5`)动态计算出需要的高度,从而决定是否显示滚动条(`多功能条 1`)。最关键的逻辑在于“复制窗口组件”,程序会以预制的模板(`分组框_基本`、`播放 `、`图片框_基本`)为基础,通过循环遍历数据数组,动态复制并排列出一个个独立的影片条目。每个条目包括一个编号、缩略图、截断处理后的长标题(超过 14 字显示省略号)以及一个可点击的“播放”按钮。
4. 分页与导航控制:
`工具条 1` 提供了五个导航按钮(索引 0-4 分别对应首页、上一页、刷新/默认、下一页、末页)。当用户点击这些按钮时,`.子程序 _工具条 1_被单击` 会被触发。该子程序会根据当前页码判断是否越界(如已是第一页则弹窗提示),更新 `换页` 变量,再次清空旧数据并通过 `创建采集线程` 拉取新页面的数据,实现流畅的翻页体验。
5. 资源交互:
当用户点击某个具体的影片播放按钮时,触发 `.子程序 _播放_被单击`。目前的逻辑是将按钮上存储的标记值(即影片的真实播放地址 `复制按钮。标记`)通过信息框(MessageBox)弹出显示,同时显示影片标题。这表明该程序现阶段的主要功能侧重于资源的定位和地址提取,而非直接内嵌播放器播放视频,或者内嵌播放逻辑在此片段中简化为显示地址。
二、界面交互与用户体验优化
1. 滚动条机制:
程序使用了自定义或标准的多功能条(`多功能条 1`)来实现大量影片列表的滚动浏览。监听 `_位置被改变 ` 和`_滚轮被滚动` 事件,通过改变父容器(`外形框 1`)的垂直位置(`顶边` 属性)来实现视图的移动,模拟了长列表的滚动效果。
2. 窗口自适应:
`.子程序 __启动窗口_尺寸被改变` 确保当用户拖动调整窗口大小时,内部的图片显示区域、外层边框和控制面板能够跟随宽度变化进行重排,保证界面的完整性和可用性。
3. 视觉反馈:
状态条被用于实时反馈程序状态,例如“加载中”、“加载完成,慢慢欣赏”,给予用户明确的操作反馈。
三、技术依赖与库支持
程序依赖了多个易语言支持库:
- `iext`, `iext6`, `iext2`:通常涉及扩展命令或界面增强。
- `RegEx`:用于复杂的字符串匹配和数据提取。
- `internet`:辅助网络操作。
- `EThread`:用于管理线程,确保网络 IO 操作不阻塞主线程。
- `MSXML2.XMLHTTP`:标准的 Windows COM 对象,用于 HTTP 协议通信。
四、总结与应用场景
综上所述,这是一个典型的“网络爬虫 + GUI 壳子”类型的易语言程序。它展示了如何利用易语言快速构建带有网络请求、数据解析、动态控件管理和用户交互功能的 Windows 桌面应用。其实际功能可以被视为一个简易版的“360 视频资源索引器”。开发者可以通过修改 `采集` 函数中的 URL 和参数适配到其他视频网站,也可以通过修改 `播放` 子程序的逻辑接入第三方播放器实现真正的在线观看。由于代码片段在 `加入影片` 处截断,推测完整的程序还包含详细的正则解析逻辑来应对网页结构的微小变化。
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_尺寸被改变
| |
| |------ _监视_周期事件
| |
| |------ 创建框架
| |
| |------ _多功能条1_位置被改变
| |
| |------ _多功能条1_滚轮被滚动
| |
| |------ _工具条1_被单击
| |
| |------ _播放_被单击
| |
| |
======通用程序集
| |
| |------ 采集
| |
| |------ 加入影片
| |
| |------ 取网页图片
| |
| |------ 取网页名称
| |
| |------ 取网页地址
| |
| |------ UTF8编码到ANSI_API
| |
| |------ 创建采集线程
| |
| |------ 采集数据1
| |
| |------ 采集数据2
| |
| |------ 采集数据3
| |
| |------ 采集数据4
| |
| |------ 采集数据5
| |
| |------ 网页id处理
| |
| |
======调用的Dll
| |
| |---[dll]------ 销毁线程
| |
| |---[dll]------ MultiByteToWideChar_utf_8
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ 创建线程
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_尺寸被改变
| |
| |------ 获取数据
| |
| |------ 加入影片
| |
| |------ 取网页图片
| |
| |------ 取网页名称
| |
| |------ 取网页地址
| |
| |------ UTF8编码到ANSI_API
| |
| |------ 创建采集线程
| |
| |------ 获取图片
| |
| |------ 图片数组变量处理
| |
| |------ _监视_周期事件
| |
| |------ 创建框架
| |
| |------ _多功能条1_位置被改变
| |
| |------ _多功能条1_滚轮被滚动
| |
| |------ _工具条1_被单击
| |
| |------ _播放_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ 销毁线程
| |
| |---[dll]------ MultiByteToWideChar_utf_8
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ 创建线程
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。