Найти - Пользователи
Полная версия: Ошибка в использовании Re
Начало » Network » Ошибка в использовании Re
1
dezz
Имеется html код:
<li><a href="http://url/">анкор</a></li>
Нужно как бы анкор спарсить) Всегда получалось, но тут ума дать не могу, ошибки так и сыпятся :(
Ошибка в этой строке:
re_url = re.findall('\<li\>\<a href\=\".*\">(.*)\<\/a\>\<\/li\>', page_map)
Сама ошибка:
Traceback (most recent call last):
File "C:\Python26\ololo.py", line 9, in <module>
re_url = re.findall('\<li\>\<a href\=\".*\">(.*)\<\/a\>\<\/li\>', page_map)
File "C:\Python26\lib\re.py", line 177, in findall
return _compile(pattern, flags).findall(string)
TypeError: expected string or buffer
Ferroman
В page_map находится что-то не то, чего ожидает функция.
dezz
Проблема решена, моя глупая ошибка)

page_map это список, добавив цикл for всё решилось!
bazooka
список чево если не секрет, покажи for. такое чувство что туда просится join
dezz
Да на самом деле я затупил немного в другом месте и цикл for даже не требуется) Это я уже потом понял ;)

был код:
page_map = urllib2.urlopen(url).readlines()
re_url = re.findall('\<li\>\<a href\=\".*\">(.*)\<\/a\>\<\/li\>', page_map)
нужно было всего-лишь изменить на:
page_map = urllib2.urlopen(url).read()
re_url = re.findall('\<li\>\<a href\=\".*\">(.*)\<\/a\>\<\/li\>', page_map)
Глупая ошибка, по неопытности!

из-за .readlines() создавался список) и я решил использовать цикл for, потом увидел где я допустил ошибку)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB