Я пытаюсь получить данные с использованием регулярных выражений из файла HTML, путем реализации следующего кода:Извлечение исходного кода из файла HTML, используя python3.1 urllib.request
import urllib.request
def extract_words(wdict, urlname):
uf = urllib.request.urlopen(urlname)
text = uf.read()
print (text)
match = re.findall("<tr>\s*<td>([\w\s.;'(),-/]+)</td>\s+<td>([\w\s.,;'()-/]+)</td>\s*</tr>", text)
который возвращает ошибку:
File "extract.py", line 33, in extract_words
match = re.findall("<tr>\s*<td>([\w\s.;'(),-/]+)</td>\s+<td>([\w\s.,;'()-/]+)</td>\s*</tr>", text)
File "/usr/lib/python3.1/re.py", line 192, in findall
return _compile(pattern, flags).findall(string)
TypeError: can't use a string pattern on a bytes-like object
При повторном экспериментировании в IDLE я заметил, что uf.read() действительно возвращает исходный код html при первом вызове. Но затем он возвращает a-b ''. Есть ли способ обойти это?