Greasy Fork is available in English.

TirexoFullDL

Telecharger tout les lien sur Tirexo

< Commentaires sur TirexoFullDL

Avis: Mauvais - le script ne fonctionne pas

§
Posté le: 06/06/2022

Hello @Hoax017.
Tout d'abord, je souhaite vous remercier pour ce superbe script que vous avez fait.
Ensuite, JavaScript n'est pas mon fort (syntaxe un peu différente de Python que j'utilise au quotidien).
Même si je fais un peu de Java, je n'ai pas réussi à comprendre tout le code de votre script.

En effet, le site a changé de nom de domaine (maintenant c'est www2.palixi.com).
Et la récupération des liens est différente, surtout pour pouvoir récup toutes les versions d'un même contenu. Ça utilise maintenant du JS (fonction d'event).
et l'architecture des tables pour récupérer les liens semblent différents.

exemple :
https://www2.palixi.com/series/921588-cold-case-affaires-classees-season-1.html

Je souhaiterais savoir si vous auriez la possibilité de commenter le plus possible votre code afin que des néophytes puissent le modifier afin de le rendre compatible avec la nouvelle version du site ou avez-vous, vous-même, la possibilité de modifier le code pour le rendre compatible avec la nouvelle version du site.

En vous remerciant par avance pour votre aide.

Cdlt.
Max524

§
Posté le: 06/06/2022

sinon, pour le problème de de ban que j'ai vu en parcourant les autres messages des commentaires, j'utilise une fonction python avec selenium. J'ai jamais eu de souci avec:

du coup, si votre script peut récup tous les liens de la forme
let url_base = "https://www2.palixi.com"
et ça concatene avec:
episode xx (/link-xxxxx.html)

suffit de passer la liste dans ma fonction.

def get_download_links(episode_ids):
"""Grabs download links from the URL
:type link: str
:rtype list:
"""

print("[I] Finding download links, Total {len( episode_ids )} links to find. Please wait this can take a while")
dwn_links = []

for l in episode_ids:
options = Options()
options.headless = True
# options.set_window_size(480, 320)
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
# options.add_extension('extension_3_7_16_0.crx')
driver = webdriver.Chrome(options=options)
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
driver.execute_cdp_cmd('Network.setUserAgentOverride',
{"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'})
driver.minimize_window()

while (True):
try:
driver.get(l)
wait = WebDriverWait(driver, 3)
button = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "geetest_radar_tip")))
button.click()

action = ActionChains(driver)
button1 = wait.until(EC.element_to_be_clickable((By.ID, "sumbit_btn")))
action.move_to_element(button1)
button1.click()
output_link = wait.until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, 'http'))).text

dwn_links.append(output_link)
# print(dwn_links)
driver.quit()
# os.system('tskill chromedriver')
# os.system('tskill Google Chrome')

except Exception as e:
print("[!] Could not get link, Please try again.\n[ERROR] {e}")
continue
break
# print(dwn_links)
driver.quit()
# os.system('tskill chromedriver')
# os.system('tskill Google Chrome')

print(dwn_links)
return dwn_links

Poster une réponse

Connectez-vous pour poster une réponse.