Форум сайта python.su
Есть простой сценарий выдаёт ошибку:
i = sk.find('href="')
TypeError: expected an object with the buffer interface
import urllib.request
u = urllib.request.urlopen('http://python.su/')
h = u.fileno()
s = 0
while s != h:
sk = next(u)
i = sk.find('href="')
if i != -1:
print(sk[i:len(sk)])
s = s + 1
Офлайн
Сразу скажу. Смотри сюда i = sk.find('href="')
Подумай, почему кавычки не срабатывают! ;)
Офлайн
Ну есть предположение что в содержимом sk есть кавычки и они рвут полностью всё выражение, ну это на правах бреда. В других языках кавычка в строке не рвёт выражение. Как быть удалять кавычки из строки перед поиском?
Офлайн
ты в bytes ищешь str
так
sk = next(u)
i = sk.find(b'href="')
sk = next(u).decode('utf-8')
i = sk.find('href="')
Отредактировано (Ноя. 26, 2011 20:54:35)
Офлайн