def search_by_code(cls, code): url = "http://www5.javmost.com/" + code + "/" main_rsp = cls.__client.get(url, proxies=proxy) if main_rsp.status_code != 200: return None img, _ = try_evaluate( lambda: re.search(r"<meta property=\"og:image\" content=\"(.+?)\"", main_rsp.text).group(1)) if not img: return None # Nov. 13 adding: https://www5.javmost.com/IENE-623/ if not img.startswith("http:"): img = "http:" + img bs = bs4.BeautifulSoup(main_rsp.text, "lxml") buttons = bs.select(".tab-overflow")[0].find_all(name="li")[1:-1] success = False var_value = re.search("'value':(.+?),", main_rsp.text).group(1) value = re.search("var %s = '(.+?)'" % var_value, main_rsp.text).group(1) for button in buttons: params = re.search(r"select_part\((.+?)\)", button.a.attrs["onclick"]).group(1) tokens = params.split(",") group = tokens[1].replace("'", "") part = tokens[0].replace("'", "") _code = tokens[4].replace("'", "") code2 = tokens[5].replace("'", "") code3 = tokens[6].replace("'", "") sound = re.search("'sound':'(.+?)'", main_rsp.text).group(1) data = urlencode( { 'group': group, 'part': part, 'code': _code, 'code2': code2, 'code3': code3, 'value': value, 'sound': sound }, quote_via=quote_plus) rsp = cls.__client.post( "https://www5.javmost.com/get_movie_source/", headers={ 'content-type': "application/x-www-form-urlencoded; charset=UTF-8" }, data=data, proxies=proxy) json_obj = json.loads(rsp.text) url = json_obj["data"][0] url = decode(url) if not url: continue if cls.__client.get(url, proxies=proxy).status_code == 200: success = True break if not success: return None av = AV() av.preview_img_url = img av.video_url = url av.code = code return av
def search_by_code(cls, code): url = "http://www5.javmost.com/" + code main_rsp = cls.__client.get(url) if main_rsp.status_code != 200: return None img, _ = try_evaluate( lambda: re.search(r"<meta property=\"og:image\" content=\"(.+?)\"", main_rsp.text).group(1)) if not img: return None # Nov. 13 adding: https://www5.javmost.com/IENE-623/ if not img.startswith("http:"): img = "http:" + img bs = bs4.BeautifulSoup(main_rsp.text, "lxml") buttons = bs.select('.tab-overflow')[0].find_all(name='li')[1:-1] success = False for button in buttons: params = re.search(r"select_part\((.+?)\)", button.a.attrs['onclick']).group(1) e, t, a, o, l, r, d = [ x.replace("\'", "") for x in params.split(",") ] data = re.search(r"get_source/\",(.+?)\}", main_rsp.text, re.S).group(1) value = re.search(r"value: \"(.+?)\",", data).group(1) sound = re.search(r"sound: \"(.+?)\",", data).group(1) url = "https://www5.javmost.com/get_code/" rsp = cls.__client.post(url, data={"code": value}) _code = rsp.text url = "https://www5.javmost.com/get_source/" rsp = cls.__client.post(url, data={ "group": t, "part": e, "code": l, "code2": r, "code3": d, "value": value, "sound": sound, "code4": _code }) json_obj = json.loads(rsp.text) url = json_obj["data"][0] url = decode(url) if cls.__client.get(url).status_code == 200: success = True break if not success: return None av = AV() av.preview_img_url = img av.video_url = url av.code = code return av