Skip to content

error ketika hanya copy paste url episode #2

@ndeso17

Description

@ndeso17

saya mengganti script pada baris 157 yaitu fungsi get_video_data dengan script ini :

    def get_video_data(self, url):
        if not url:
            return {'status': False, 'message': 'URL is required'}

        if not url.startswith(self.BASE_WEB_URL):
            return {'status': False, 'message': 'Invalid URL'}

        request = self.request.get(url=url)
        if request.status_code != 200:
            return {'status': False, 'message': 'Failed to get video page'}

        bs = BeautifulSoup(request.text, 'html.parser')

        # ----------------------------------------------------------------------
        # 1. GET VIDEO ID (fallback untuk episode / tvseries)
        # ----------------------------------------------------------------------
        meta_postid = bs.find('meta', {'id': 'dooplay-ajax-counter'})
        if not meta_postid:
            # Fallback lain: some themes use data-post-id
            post_id_holder = bs.find(attrs={'data-postid': True})
            if post_id_holder:
                self.video_id = post_id_holder['data-postid']
            else:
                return {'status': False, 'message': 'Video ID not found'}
        else:
            self.video_id = meta_postid.get('data-postid')

        # ----------------------------------------------------------------------
        # 2. GET TITLE (ROBUST)
        # ----------------------------------------------------------------------
        video_name = None

        # Try itemprop="name"  (movie)
        meta_name = bs.find('meta', {'itemprop': 'name'})
        if meta_name:
            video_name = meta_name.get('content')

        # Try og:title (episodes)
        if not video_name:
            og_title = bs.find('meta', {'property': 'og:title'})
            if og_title:
                video_name = og_title.get('content')

        # Try title tag
        if not video_name and bs.title:
            video_name = bs.title.text

        # Try h1
        if not video_name:
            h1 = bs.find('h1')
            if h1:
                video_name = h1.get_text(strip=True)

        # Last fallback
        if not video_name:
            video_name = "Unknown_Title"

        self.video_name = unquote(video_name)

        # ----------------------------------------------------------------------
        # 3. GET POSTER (fallbacks)
        # ----------------------------------------------------------------------
        poster = None
        itemprop_img = bs.find('img', {'itemprop': 'image'})
        if itemprop_img:
            poster = itemprop_img.get('src')

        if not poster:
            og_image = bs.find('meta', {'property': 'og:image'})
            if og_image:
                poster = og_image.get('content')

        if not poster:
            poster = ""

        self.poster = poster

        # DONE
        return {
            'status': True,
            'video_id': self.video_id,
            'video_name': self.video_name,
            'poster': self.poster
        }

gambar error, sebelum mengganti script :

Image

setelah mengganti script :

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions