-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathget_download_links_from_ftp_url.py
33 lines (27 loc) · 1.18 KB
/
get_download_links_from_ftp_url.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import requests
from bs4 import BeautifulSoup, SoupStrainer
url = "http://dl2.funsaber.net/serial/Friends/"
download_links = []
video_file_extensions = ('mkv', 'mp4', 'mpeg4', 'mov', 'avi')
def recursiveUrl(url, depth):
if depth == 5:
return url
elif url.endswith(video_file_extensions):
download_links.append(url)
return
else:
page = requests.get(url)
for link in BeautifulSoup(page.text, parse_only=SoupStrainer('a'), features="html.parser"):
if (link.has_attr('href') and link.text != '../'):
recursiveUrl(url + link['href'], depth + 1)
def getLinks(url):
page = requests.get(url)
for link in BeautifulSoup(page.text, parse_only=SoupStrainer('a'), features="html.parser"):
if (link.has_attr('href') and link.text != '../'):
recursiveUrl(url + link['href'], 0)
return download_links
if __name__ == '__main__':
getLinks(url)
for download_link in download_links:
print('\n')
print(download_link)