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()
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()
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()