Da-unaloda Stainda Apa Rahula -2022- Hindi Filmyfly Filmy4wap Filmywap -
# ---------------------------------------------------------------------- # 2️⃣ Site‑specific search utilities # ---------------------------------------------------------------------- class BaseScraper: """Common helpers for all three sites."""
# Some sites embed details in data‑attributes: year = c.get("data-year") language = c.get("data-language") quality = c.get("data-quality") quality = None
results.append( "source": "Filmy4wap", "title": title, "year": year, "language": language, "quality": quality, "url": href, ) return results ) parser.add_argument( "-o"
# Year & language are usually in a <p> like "2022 | Hindi | 720p" meta = c.select_one("p.movie-meta") year, language, quality = None, None, None if meta: parts = [p.strip() for p in meta.get_text(separator="|").split("|")] for p in parts: if re.fullmatch(r"\d4", p): year = p elif p.lower() in "hindi", "english", "telugu", "marathi": language = p else: quality = p quality = None
# ---------------------------------------------------------------------- # 5️⃣ Command‑line interface (nice for quick testing) # ---------------------------------------------------------------------- if __name__ == "__main__": import argparse parser = argparse.ArgumentParser( description="Search Hindi movies on FilmyFly / Filmy4wap / Filmywap." ) parser.add_argument( "title", nargs="+", help="Movie title (e.g. 'Da-unaloda stainda apa rahula 2022 hindi')", ) parser.add_argument( "-o", "--output", default="movie_search_result.json", help="File to write JSON output to (default: %(default)s)", ) args = parser.parse_args()
# Example meta: "2022 Hindi 1080p" meta = c.select_one("span.meta") year, language, quality = None, None, None if meta: txt = meta.get_text() m_year = re.search(r"\b(20\d2)\b", txt) year = m_year.group(1) if m_year else None language = "Hindi" if "hindi" in txt.lower() else None qual_match = re.search(r"\b(720p|1080p|4k)\b", txt, re.I) quality = qual_match.group(0) if qual_match else None