import re
import sys
def convert_iframe_code(input_code):
# print(f"Received iframe code: {input_code}") # 打印接收到的 iframe 代码,用于调试
# 更新正则表达式,允许匹配多种 iframe 格式
pattern = r'<iframe.*?src=["\']\/\/player\.bilibili\.com\/player\.html\?isOutside=true&aid=(\d+)&bvid=(\w+)&cid=(\d+)&p=(\d+).*?["\'].*?>.*?<\/iframe>'
match = re.search(pattern, input_code)
if match:
aid = match.group(1)
bvid = match.group(2)
cid = match.group(3)
p = match.group(4)
# 构造新的 iframe 代码
new_code = f'<iframe src="http://p...content-available-to-author-only...i.com/player.html?isOutside=true&aid={aid}&bvid={bvid}&cid={cid}&p={p}&autoplay=false" ' \
f'scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" ' \
f'style="width: 640px; height: 430px; max-width: 100%"></iframe>'
return new_code
else:
raise ValueError
("Invalid iframe code")
# 从命令行参数中获取输入
if __name__ == '__main__':
if len(sys.argv) > 1:
input_code = sys.argv[1]
try:
output_code = convert_iframe_code(input_code)
print(output_code)
except ValueError as e:
print(e)
else:
print("Please provide the iframe code as an argument.")
aW1wb3J0IHJlCmltcG9ydCBzeXMKCmRlZiBjb252ZXJ0X2lmcmFtZV9jb2RlKGlucHV0X2NvZGUpOgogICAjIHByaW50KGYiUmVjZWl2ZWQgaWZyYW1lIGNvZGU6IHtpbnB1dF9jb2RlfSIpICAjIOaJk+WNsOaOpeaUtuWIsOeahCBpZnJhbWUg5Luj56CB77yM55So5LqO6LCD6K+VCiAgICAKICAgICMg5pu05paw5q2j5YiZ6KGo6L6+5byP77yM5YWB6K645Yy56YWN5aSa56eNIGlmcmFtZSDmoLzlvI8KICAgIHBhdHRlcm4gPSByJzxpZnJhbWUuKj9zcmM9WyJcJ11cL1wvcGxheWVyXC5iaWxpYmlsaVwuY29tXC9wbGF5ZXJcLmh0bWxcP2lzT3V0c2lkZT10cnVlJmFpZD0oXGQrKSZidmlkPShcdyspJmNpZD0oXGQrKSZwPShcZCspLio/WyJcJ10uKj8+Lio/PFwvaWZyYW1lPicKICAgIG1hdGNoID0gcmUuc2VhcmNoKHBhdHRlcm4sIGlucHV0X2NvZGUpCgogICAgaWYgbWF0Y2g6CiAgICAgICAgYWlkID0gbWF0Y2guZ3JvdXAoMSkKICAgICAgICBidmlkID0gbWF0Y2guZ3JvdXAoMikKICAgICAgICBjaWQgPSBtYXRjaC5ncm91cCgzKQogICAgICAgIHAgPSBtYXRjaC5ncm91cCg0KQoKICAgICAgICAjIOaehOmAoOaWsOeahCBpZnJhbWUg5Luj56CBCiAgICAgICAgbmV3X2NvZGUgPSBmJzxpZnJhbWUgc3JjPSJodHRwOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uaS5jb20vcGxheWVyLmh0bWw/aXNPdXRzaWRlPXRydWUmYWlkPXthaWR9JmJ2aWQ9e2J2aWR9JmNpZD17Y2lkfSZwPXtwfSZhdXRvcGxheT1mYWxzZSIgJyBcCiAgICAgICAgICAgICAgICAgICBmJ3Njcm9sbGluZz0ibm8iIGJvcmRlcj0iMCIgZnJhbWVib3JkZXI9Im5vIiBmcmFtZXNwYWNpbmc9IjAiIGFsbG93ZnVsbHNjcmVlbj0idHJ1ZSIgJyBcCiAgICAgICAgICAgICAgICAgICBmJ3N0eWxlPSJ3aWR0aDogNjQwcHg7IGhlaWdodDogNDMwcHg7IG1heC13aWR0aDogMTAwJSI+PC9pZnJhbWU+JwogICAgICAgIHJldHVybiBuZXdfY29kZQogICAgZWxzZToKICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIGlmcmFtZSBjb2RlIikKCiMg5LuO5ZG95Luk6KGM5Y+C5pWw5Lit6I635Y+W6L6T5YWlCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBpZiBsZW4oc3lzLmFyZ3YpID4gMToKICAgICAgICBpbnB1dF9jb2RlID0gc3lzLmFyZ3ZbMV0KICAgICAgICB0cnk6CiAgICAgICAgICAgIG91dHB1dF9jb2RlID0gY29udmVydF9pZnJhbWVfY29kZShpbnB1dF9jb2RlKQogICAgICAgICAgICBwcmludChvdXRwdXRfY29kZSkKICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgogICAgICAgICAgICBwcmludChlKQogICAgZWxzZToKICAgICAgICBwcmludCgiUGxlYXNlIHByb3ZpZGUgdGhlIGlmcmFtZSBjb2RlIGFzIGFuIGFyZ3VtZW50LiIp