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
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