Bueno, he estado mirando un poco, no todo lo que quisiera, pero sí he mirado.
Me he concentrado más en la página que en el .py
Viendo lo caótico que puede ser afinar, para el caso de los episodios de las series, se me ocurre que se podría intentar solicitar los episodios con este formato
Código: Seleccionar todo
http://www.newpct1.com/index.php?page=buscar&url=&letter=&q=Boardwalk%26Empire&categoryID=&categoryIDR=&calidad=HDTV+720p+AC3+5.1&idioma=&ordenar=Nombre&inon=Ascendente
Con este formato no falla, te devuelve lo que esperas.
En primer lugar se puede generar la lista de todas las series con
Código: Seleccionar todo
scrapertools.cache_page("http://www.newpct1.com/pct1/library/include/ajax/get_subcategory.php", post="categoryIDR=767")
patron = "<option value="\d+">([^<]+)</option>"
A la hora de colocárselo a "...&q=+scrapedtitle+&...", remplazaríamos los espacios por %26 (caracter &) para que la búsqueda sea exacta.
Una vez seleccionada la serie se podría crear las opciones de las calidades disponibles. Está opción puede ir antes, eso ya al gusto. Estos datos al ser estáticos cabe la posibilidad de que existan series que no tenga la calidad deseada.
Las calidades se extraen de la url "
http://www.newpct1.com/index.php?page=buscar" con el patron "<select class="busqueda-av" id="calidad" name="calidad">(.*?)</select>"
Para el idioma, ordenar, inon es igual que el anterior. Para estos casos, si existiera, los espacios se reemplazan con "+", incluido calidad.
Si te tienta unir dos o más opciones, mejor no, la api no comprueba que existan mas coincidencias en estos campos.
No se como lo verás, pero el resultado se ajustaría a lo que buscas