You want to convert html (a byte-like object) into a string using .decode html = response.read().decode('utf-8') 参考:https://stackoverflow.com/questions/31019854/typeerror-cant-use-a-string-pattern-on-a-bytes-like-object-in-re-findall