Hỏi về Regex trong Python

Tình hình là hum rồi mình có lượn vô Deepweb tải vớ vẩn mà tải từng file một nó lâu quá nên viết một script đơn giản với mã nguồn copy và paste mỗi chỗ một tý.Mình có một vấn đề đối với việc lấy danh sách link torrent bằng regex như sau

import re
list_link=['https://abc.com/file1.torrent','https://abc.com/file2.torrent','magnet:?xt=urn:btih:69d157a3137e1fa3b62e14f6ece8621ff4aadd64','magnet:?xt=urn:btih:659f4ee96c7a76e89c9c44297d260c9680445e88&dn=%2B%2B%2B%20MDB-988%20%E3%81%A4%E3%82%8B%E3%81%A4%E3%82%8B%E3%82%AA%E3%83%9E%E2%97%8F%E3%82%B3%E3%81%AB%E3%81%BA%E3%81%9F%E3%82%93%E3%81%93%E3%82%AA%E3%83%83%E3%83%91%E3%82%A4%E3%81%AE%E7%BE%8E%E5%B0%91%E5%A5%B3%E9%81%94%E3%81%8C%E5%A4%A7%E9%9B%86%E5%90%88%EF%BC%81%EF%BC%81%E8%B2%A7%E4%B9%B3%E3%83%91%E3%82%A4%E3%83%91%E3%83%B3BEST30%E4%BA%BA4%E6%99%82%E9%96%93&tr=http%3A%2F%2Fsukebei.tracker.wf%3A8888%2Fannounce&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Fexodus.desync.com%3A6969%2Fannounce']
regex="magnet:\?xt=urn:btih:[a-zA-Z0-9]*|.torrent$"
r=re.compile(regex)
list_link_torrent = list(filter(r.match,list_link))
print(list_link_torrent)

Và đây là kết quả:

['magnet:?xt=urn:btih:69d157a3137e1fa3b62e14f6ece8621ff4aadd64', 'magnet:?xt=urn:btih:659f4ee96c7a76e89c9c44297d260c9680445e88&dn=%2B%2B%2B%20MDB-988%20%E3%81%A4%E3%82%8B%E3%81%A4%E3%82%8B%E3%82%AA%E3%83%9E%E2%97%8F%E3%82%B3%E3%81%AB%E3%81%BA%E3%81%9F%E3%82%93%E3%81%93%E3%82%AA%E3%83%83%E3%83%91%E3%82%A4%E3%81%AE%E7%BE%8E%E5%B0%91%E5%A5%B3%E9%81%94%E3%81%8C%E5%A4%A7%E9%9B%86%E5%90%88%EF%BC%81%EF%BC%81%E8%B2%A7%E4%B9%B3%E3%83%91%E3%82%A4%E3%83%91%E3%83%B3BEST30%E4%BA%BA4%E6%99%82%E9%96%93&tr=http%3A%2F%2Fsukebei.tracker.wf%3A8888%2Fannounce&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Fexodus.desync.com%3A6969%2Fannounce']

Cho mình hỏi là làm thế nào để lấy ra danh sách .torrent và magnet link từ một List

Full mà nguồn chương trinh của mình : https://github.com/Kulteam/Downloader-For-The-Lazy

Thanks anh em đã quan tâm

Kul xem như này ổn không

import re
links=['link nè https://abc.com/file1.torrent','https://abc.com/file2.torrent','magnet:?xt=urn:btih:69d157a3137e1fa3b62e14f6ece8621ff4aadd64','magnet vip: magnet:?xt=urn:btih:659f4ee96c7a76e89c9c44297d260c9680445e88&dn=%2B%2B%2B%20MDB-988%20%E3%81%A4%E3%82%8B%E3%81%A4%E3%82%8B%E3%82%AA%E3%83%9E%E2%97%8F%E3%82%B3%E3%81%AB%E3%81%BA%E3%81%9F%E3%82%93%E3%81%93%E3%82%AA%E3%83%83%E3%83%91%E3%82%A4%E3%81%AE%E7%BE%8E%E5%B0%91%E5%A5%B3%E9%81%94%E3%81%8C%E5%A4%A7%E9%9B%86%E5%90%88%EF%BC%81%EF%BC%81%E8%B2%A7%E4%B9%B3%E3%83%91%E3%82%A4%E3%83%91%E3%83%B3BEST30%E4%BA%BA4%E6%99%82%E9%96%93&tr=http%3A%2F%2Fsukebei.tracker.wf%3A8888%2Fannounce&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Fexodus.desync.com%3A6969%2Fannounce', 'https://developers.google.com/']
tor_links = []
torrent = "https?:\/\/[^\s]+\.torrent"
magnet = "magnet:[^\s]+"
reg = f"({magnet}|{torrent})"
print(reg)
rex = re.compile(reg)
for link in links:
 matches = re.search(rex, link)
 if matches:
  tor_link = matches.group(0)
  tor_links.append(tor_link)
print(tor_links)
7 Likes

Thanks bạn nhiều nhé

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?