コード例 #1
0
ファイル: UserPlaylists.py プロジェクト: NNSound/youtube-api
 def getMusic(self, vid, title):
     sql = "video_id = '" + vid + "'"
     model = AllMusic()
     if (model.getOne(sql) == None):
         model.artist = ''
         model.song = title
         model.video_id = vid
         model.is_download = 0
         Base.download_v3(vid, title)
         model.is_download = 1
         model.insert()
     else:
         print("Already has:" + title)
コード例 #2
0
ファイル: AllWeb.py プロジェクト: NNSound/youtube-api
 def daily(self, day=None, cid=297):
     if (day == None):
         day = self.date
     url = 'https://kma.kkbox.com/charts/api/v1/daily'
     dic = {
         'date': day,
         'type': 'song',
         'category': cid,
         'lang': 'tc',
         'limit': 50,
         'terr': 'tw'
     }
     res = requests.get(url, params=dic)
     stock_dict = json.loads(res.text)
     songs = stock_dict['data']['charts']['song']
     for song in songs:
         self.mysongs.append([
             Base.strclear(song['artist_name']),
             Base.strclear(song['song_name'])
         ])
     Base.printissue()
コード例 #3
0
ファイル: AllWeb.py プロジェクト: NNSound/youtube-api
 def getlist(self):
     url = "http://mojim.com/twzhot-song.htm"
     res = requests.get(url)
     soup = BeautifulSoup(res.text, "lxml")
     table = soup.find('td', id="mx45_M").find('table')
     tagList = table.find_all('div')
     tagList.remove(tagList[7])  #略過其他
     tagList.remove(tagList[6])  #略過日文
     for tag in tagList:
         songs = tag.find_all('td')
         for song in songs:
             item = song.find('a')
             artist = song.find('a', class_="X1")
             if item is not None:
                 item = re.split('[0-9]+\.', item.get_text())
                 artist = re.split('[<](.*)[>]', artist.get_text())
                 self.mysongs.append([
                     Base.strclear(artist[1].strip()),
                     Base.strclear(item[1])
                 ])
     Base.printissue()
コード例 #4
0
ファイル: AllWeb.py プロジェクト: NNSound/youtube-api
 def weekly(self, yesterday=yesterday, cid=297, t="song"):
     self.date = str(Base.getLastThursday())
     #https://kma.kkbox.com/charts/api/v1/weekly?category=297&date=2018-03-08&lang=tc&limit=50&terr=tw&type=newrelease 每周新歌榜單
     #一樣由上面的網址決定,榜單只存兩周
     url = 'https://kma.kkbox.com/charts/api/v1/weekly'
     dic = {
         'date': self.date,
         'type': t,
         'category': cid,
         'lang': 'tc',
         'limit': 50,
         'terr': 'tw'
     }
     res = requests.get(url, params=dic)
     stock_dict = json.loads(res.text)
     songs = stock_dict['data']['charts'][t]
     #TODO 要判斷是否存在元素
     for song in songs:
         self.mysongs.append([
             Base.strclear(song['artist_name']),
             Base.strclear(song['song_name'])
         ])
     Base.printissue()
コード例 #5
0
from AllWeb import kkbox
from mypackage import Base
from mypackage.model import AllMusic

kk = kkbox()

# kk.daily()
kk.weekly()  #297華語
kk.weekly(cid=390)  #西洋
# kk.weekly(cid=324)
# kk.weekly(cid=352)

key = Base.getKey()
model = AllMusic()
model.createtable()

mylist = Base.getArrMysongs()
for row in mylist:

    try:
        vid = Base.search_hot(key, row[0] + " " + row[1])
        sql = "video_id = '" + vid + "'"
        model = AllMusic()
        if (model.getOne(sql) == None):
            model.artist = row[0]
            model.song = row[1]
            model.video_id = vid
            model.is_download = 0
            fileName = "%s - %s" % (row[0], row[1])
            Base.download_v3(vid, fileName)
            model.is_download = 1
コード例 #6
0
ファイル: UserPlaylists.py プロジェクト: NNSound/youtube-api
 def __init__(self):
     self.mysongs = Base.getArrMysongs()
コード例 #7
0
ファイル: mojim.py プロジェクト: NNSound/youtube-api
from AllWeb import mojim
from mypackage import Base
from mypackage.model import AllMusic

mm = mojim()
mm.getlist()

key = Base.getKey()
mylist = Base.getArrMysongs()
for row in mylist:

    try:
        vid = Base.search_hot(key,row[0]+" "+row[1])
        sql = "video_id = '" + vid + "'"
        model = AllMusic()
        if (model.getOne(sql) == None):
            model.artist = row[0]
            model.song = row[1]
            model.video_id = vid
            model.is_download = 0
            # Base.download_v2(vid,row[0],row[1])
            model.insert()
        else:
            print("Already has:"+row[0]+"-"+row[1])
    except:
        print("[Error]:%s - %s"%(row[0], row[1]))
コード例 #8
0
ファイル: getHistory.py プロジェクト: NNSound/youtube-api
import time

import pafy
import requests
from bs4 import BeautifulSoup

from mypackage import Base
from mypackage.model import AllMusic


def getList():
    model = AllMusic()
    return model.getAll()


if __name__ == "__main__":
    songList = getList()
    #1170
    # print(songList[0][1])
    i = 1
    for song in songList:
        try:
            print("SongName:%s,vid:%s" % (song[3], song[1]))
            Base.download_v3(song[1], song[3])
            i = i + 1
            # if (i % 10 == 0):
            #     time.sleep(5)
        except Exception as e:
            print("Error:%s" % (song[3]))
            print(str(e))