diff --git a/logic_inflearn.py b/logic_inflearn.py
index e62047f..2cb15c9 100755
--- a/logic_inflearn.py
+++ b/logic_inflearn.py
@@ -352,12 +352,12 @@ class LogicInflearn(object):
try:
# query = query.encode("utf-8")
_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)
html_content = LogicInflearn.get_html(url)
download_path = ModelSetting.get("download_path")
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)
data = {"ret": "success", "query": query}
@@ -373,20 +373,27 @@ class LogicInflearn(object):
for item in tmp_items:
entity = {}
- entity["link"] = item.xpath(".//a/@href")[0]
- entity["code"] = re.search(r"[0-9]+", entity["link"]).group()
- entity["title"] = item.xpath('.//span[@class="name-film"]//text()')[
+ entity["link"] = item.xpath(".//a[@class='course_card_front']/@href")[0]
+ entity["code"] = entity["link"].split("/")[-1]
+ 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
].strip()
entity["image_link"] = item.xpath('.//img[@class="photo"]/@src')[0]
# logger.info('entity:::', entity['title'])
+
data["episode"].append(entity)
- json_file_path = os.path.join(download_path, "airing_list.json")
- logger.debug("json_file_path:: %s", json_file_path)
-
- with open(json_file_path, "w") as outfile:
- json.dump(data, outfile)
+ # json_file_path = os.path.join(download_path, "airing_list.json")
+ # logger.debug("json_file_path:: %s", json_file_path)
+ #
+ # with open(json_file_path, "w") as outfile:
+ # json.dump(data, outfile)
return data
@@ -946,7 +953,7 @@ class LogicInflearn(object):
title = res_data["course"]["_"]["current_unit"]["title"]
if res_data["newBOX"]["video"]["name"] is not None:
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:
# logger.debug(res_data["newBOX"]["video"]["vod_info"]["hlsUrl"])
m3u8_url = res_data["newBOX"]["video"]["vod_info"]["hlsUrl"]
diff --git a/static/js/inflearn_category.js b/static/js/inflearn_category.js
index b4035e3..26ba5bd 100644
--- a/static/js/inflearn_category.js
+++ b/static/js/inflearn_category.js
@@ -47,7 +47,20 @@ $("body").on("click", "#btn_search", function (e) {
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function (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 {
$.notify("분석 실패
" + ret.log, {
type: "warning",