(转)在aardio中调用python来采集电源资源站电影地址

By admin at 2019-07-26 • 2人收藏 • 2674人看过

这个代码忘了是aar群里谁发的, 抛开他采集的东西不说, 这个代码还是值得学习的, 

import win.ui;
import fonts.fontAwesome;
/*DSG{{*/
var uvform = win.form(text="aardio form";right=719;bottom=375;bgcolor=0;border="none";exmode="none";mode="popup")
uvform.add(
listview={cls="listview";left=0;top=0;right=720;bottom=344;aw=1;bgcolor=0;border=1;color=16777215;edge=1;font=LOGFONT(h=-19);gridLines=1;vscroll=1;z=3};
plus={cls="plus";text='\uF0E2更新';left=320;top=344;right=400;bottom=376;color=16777215;font=LOGFONT(h=-19;name='FontAwesome');notify=1;z=1};
plus2={cls="plus";text='\uF00D关闭';left=456;top=344;right=520;bottom=376;color=16777215;font=LOGFONT(h=-19;name='FontAwesome');notify=1;z=2}
)
/*}}*/

//灵感来自http://www.chengxu.xyz/t/228(分享一个播放.m3u8后缀网络视频的软件),可以加入aPlayer,采集后直接播放
import style.player;
import fsys.ini
var uv33ini=fsys.ini("\playlist\33uv.ini")

uvform.plus.skin(style.player.stop);
uvform.plus2.skin(style.player.stop);
uvform.listview.insertColumn("序号",50);
uvform.listview.insertColumn("电影名称",150);
uvform.listview.insertColumn("电影地址",415);
uvform.listview.insertColumn("更新日期",100);

var updatebox=function(){
    
    var secs=uv33ini.getSectionNames();
	
	for(i=1;#secs;1){
		var item_table={i;secs[i];uv33ini.read(secs[i],"Url");uv33ini.read(secs[i],"Updated")};
		uvform.listview.addItem(item_table,i);
		
	
	}
	
}
updatebox();

pyCode=/*
import aardio
import requests
from urllib.parse import urljoin
import os,time,random
from lxml import etree
from time import sleep
#import configparser
#returnRes=[]

def rand_header(ref_url):
    user_agent_list = [ \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1" \
        "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6", \
        "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6", \
        "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1", \
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5", \
        "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5", \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", \
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", \
        "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3", \
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24", \
        "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
    ]
    ua = random.choice(user_agent_list)
    headers = {'User-Agent': ua, "Referer": ref_url}
    return headers


def xtr(url):
    header=rand_header(url)
    resp_content=requests.get(url,headers=header).content
    sleep(1)#防止太快,也没做异常处理
    return etree.HTML(resp_content)
start_url='http://156zy.co/?m=vod-type-id-16.html'
def go(url):
    print('Let\'s Go...,Have a cup of coffee')
    #tempRes=[]
    #config=configparser.ConfigParser()
    
    for i in range(1,7):#此处控制页面数,默认1-6
        if i==1:
            url_0=url
        else:
            url_0="http://156zy.co/?m=vod-type-id-16-pg-{}.html".format(i)
        xpa=xtr(url_0)
        items_url=xpa.xpath("//div[@class='xing_vb']/ul/li/span/a/@href")
        items_url=[urljoin('http://156zy.co/?m=vod-type-id-16.html',x) for x in items_url]
        for url in items_url:
            xpa0=xtr(url)
            subName=xpa0.xpath("//div[@class='vodh']/h2/text()")
            subUpdate=xpa0.xpath("//div[@class='vodinfobox']/ul/li[8]/span/text()")
            subUrls=xpa0.xpath("//li/input/@value")
            aardio.write2ini(subName[0],"Url",subUrls[1])
            aardio.write2ini(subName[0],"Updated",subUpdate[0])
            #tempRes.append([subName[0],subUrls[0],subUpdate[0]])
            #config.add_section(subName[0])
                   
            
            
            #config.set(subName[0],"Url",subUrls[1]+"#"+subUrls[0])
            #config.set(subName[0],"Update",subUpdate[0])
            
                       
                       
        break#注销此语句,将更新6页
    #config.write(open("./playlist/33uv.ini","w",encoding="utf-8") )
    print('Well Done')
    #return tempRes

returnRes=go(start_url)
            
    




*/






uvform.plus.oncommand = function(id,event){
    import console;
	console.setTitle("获取信息中....耐心等待") 
	import py; //导入py之前,要打开console,这样python的print才有效
	py.appendPath("\res\Lib\site-packages\") //要将额外的requests,urllib3和lxml库文件放到该目录,发布后也需要放。
	//注意对应的库版本,可以从网上直接下载对应版本的whl文件,解压然后拷贝过去。
	//更新开始后不就,程序好像会卡住,不知道是不是PY导致的。可以另外单独做成一个更新程序 
  	py.export.aardio ={ 
		write2ini = function(s,k,u){ 
		uv33ini.write(s,k,u);
				} 
	}
	
	
   	py.exec(pyCode)
   
   	
   	console.close();
      //console.pause(true)
    updatebox()
   
}


uvform.plus2.oncommand = function(id,event){
	uvform.close();
}
uvform.show();


win.loopMessage();
return uvform;


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...