Encryption/Decryption between Python and Node JS
The padding step is unnecessary - CFB works out of the box on any plaintext length since it XORS the plaintext with the AES output.
Lack of authentication means that the scheme is vulnerable to a bit flipping attack, where you can flip bits in the ciphertext and cause a corresponding bit flip in the plaintext.
Other nitpicks:

str.encode(url) should be url.encode()
your docstring has a :return: but it doesn't declare anything