인프런 파일명 변경 테스트

This commit is contained in:
2022-05-15 17:32:36 +09:00
parent 9f7600130b
commit cc4e4e422b
2 changed files with 32 additions and 12 deletions

View File

@@ -352,12 +352,12 @@ class LogicInflearn(object):
try: try:
# query = query.encode("utf-8") # query = query.encode("utf-8")
_query = urllib.parse.quote(query) _query = urllib.parse.quote(query)
url = f"{ModelSetting.get('inflearn_url')}/?s={_query}" url = f"{ModelSetting.get('inflearn_url')}/courses?s={_query}"
logger.debug("search url::> %s", url) logger.debug("search url::> %s", url)
html_content = LogicInflearn.get_html(url) html_content = LogicInflearn.get_html(url)
download_path = ModelSetting.get("download_path") download_path = ModelSetting.get("download_path")
tree = html.fromstring(html_content) tree = html.fromstring(html_content)
tmp_items = tree.xpath('//div[@class="item"]') tmp_items = tree.xpath('//div[contains(class, "column")]')
# logger.info('tmp_items:::', tmp_items) # logger.info('tmp_items:::', tmp_items)
data = {"ret": "success", "query": query} data = {"ret": "success", "query": query}
@@ -373,20 +373,27 @@ class LogicInflearn(object):
for item in tmp_items: for item in tmp_items:
entity = {} entity = {}
entity["link"] = item.xpath(".//a/@href")[0] entity["link"] = item.xpath(".//a[@class='course_card_front']/@href")[0]
entity["code"] = re.search(r"[0-9]+", entity["link"]).group() entity["code"] = entity["link"].split("/")[-1]
entity["title"] = item.xpath('.//span[@class="name-film"]//text()')[ entity["_code"] = item.xpath("/div/@data-productid")
entity["title"] = item.xpath('.//div[@class="course_title"]//text()')[
0
].strip()
entity["teacher"] = item.xpath('.//div[@class="instructor"]/text()')[
0 0
].strip() ].strip()
entity["image_link"] = item.xpath('.//img[@class="photo"]/@src')[0] entity["image_link"] = item.xpath('.//img[@class="photo"]/@src')[0]
# logger.info('entity:::', entity['title']) # logger.info('entity:::', entity['title'])
data["episode"].append(entity) data["episode"].append(entity)
json_file_path = os.path.join(download_path, "airing_list.json") # json_file_path = os.path.join(download_path, "airing_list.json")
logger.debug("json_file_path:: %s", json_file_path) # logger.debug("json_file_path:: %s", json_file_path)
#
with open(json_file_path, "w") as outfile: # with open(json_file_path, "w") as outfile:
json.dump(data, outfile) # json.dump(data, outfile)
return data return data
@@ -946,7 +953,7 @@ class LogicInflearn(object):
title = res_data["course"]["_"]["current_unit"]["title"] title = res_data["course"]["_"]["current_unit"]["title"]
if res_data["newBOX"]["video"]["name"] is not None: if res_data["newBOX"]["video"]["name"] is not None:
name = res_data["newBOX"]["video"]["name"] name = res_data["newBOX"]["video"]["name"]
filename = f"{title}.{name.split('.')[0]}.S{season.zfill(2)}.E{str(idx).zfill(3)}.{name.split('.')[-1]}" filename = f"{title} - S{season.zfill(2)}.E{str(idx).zfill(3)} - {name.split('.')[0]}.{name.split('.')[-1]}"
if res_data["newBOX"]["video"]["vod_info"]["hlsUrl"] is not None: if res_data["newBOX"]["video"]["vod_info"]["hlsUrl"] is not None:
# logger.debug(res_data["newBOX"]["video"]["vod_info"]["hlsUrl"]) # logger.debug(res_data["newBOX"]["video"]["vod_info"]["hlsUrl"])
m3u8_url = res_data["newBOX"]["video"]["vod_info"]["hlsUrl"] m3u8_url = res_data["newBOX"]["video"]["vod_info"]["hlsUrl"]

View File

@@ -47,7 +47,20 @@ $("body").on("click", "#btn_search", function (e) {
contentType: "application/x-www-form-urlencoded; charset=UTF-8", contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function (ret) { success: function (ret) {
if (ret.ret) { if (ret.ret) {
make_screen_movie_list(ret); current_screen_movie_data = ret;
total_page = ret.total_page;
console.log("ret::>", ret);
if (current_screen_movie_data !== "") {
make_screen_movie_list(ret, page);
div_visible = true;
// console.log(div_visible);
// $("img.lazyload").lazyload({
// threshold : 400,
// effect : "fadeIn",
// });
}
next_page = page + 1;
} else { } else {
$.notify("<strong>분석 실패</strong><br>" + ret.log, { $.notify("<strong>분석 실패</strong><br>" + ret.log, {
type: "warning", type: "warning",