def get_movies_data(movies_link):
    movies = []
    # login and create session
    with requests.session() as session:
        print('嘗試登入會員....')
        response = session.post(login_url, data=payload)
        if '歡迎您回來' in response.text:
            print('登入成功!!!! 透過電影URL開始抓取詳細資料...')
            # scrape each movie data from link
            for link in movies_link:
                movie = Movie()
                response = session.get(link)
                if response.status_code == 200:
                    print(f'開始抓取{link}頁面資料...')
                    soup = BeautifulSoup(response.text, 'html.parser')
                    movie.title = soup.find(
                        'a', id="thread_subject").text  # get movie title
                    movie.info_link = link  # create movie object

                    block_code = soup.find_all(class_='blockcode')
                    for block in block_code:
                        movie.download_link.append(
                            block.find('li').text)  # get all download link
                    movies.append(movie)
                    sleep(0.5)
                else:
                    print('連線發生錯誤')
        else:
            print('登入會員失敗...')

        # logout
        session.get(logout_url)

    return movies
Example #2
0
def addMovies(data, toadd):
                existent = getExistentMovies()
                limitYear = datetime.today().year - 1
                for mov in toadd:
                        current = Movie()
                        current.title = mov["title_long"]
                        current.link = mov["url"]
                        for tor in mov["torrents"]:
                                if tor["quality"] == "1080p":
                                        current.link1080p = tor["url"]
                                elif tor["quality"] == "720p":
                                        current.link720p = tor["url"]
                                elif tor["quality"] == "3D":
                                        current.link3D = tor["url"]
                        if (current.title in existent):
                                return False, data
                        elif mov["year"] >= limitYear:
                                data.append(current)
                return True, data