Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 22, 2008 14:06:24

YaJoN
От:
Зарегистрирован: 2008-12-22
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтр

Помогите написать фильтр, который смог бы отфильтровать подгружаемую страницу. Суть фильтра - отбор текста находящегося между <td></td>. Спасибо.



Офлайн

#2 Дек. 22, 2008 14:31:22

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Фильтр

1. Смотри в сторону BeautifulSoup или html5lib + xpath.
2. В некоторых случаях можно воспользоваться регулярными выражениями.
3. Воспользуйся поиском на форуме, эта тема не раз обсуждалась.

..bw



Офлайн

#3 Дек. 22, 2008 14:36:51

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтр

import re
.....
result = re.findall(r"<td>(.*)?</td>", page_data)



Офлайн

#4 Дек. 27, 2008 21:08:01

YaJoN
От:
Зарегистрирован: 2008-12-22
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтр

shiza
import re
…..
result = re.findall(r“<td>(.*)?</td>”, page_data)
ошибка(



Отредактировано (Дек. 27, 2008 21:29:14)

Офлайн

#5 Дек. 27, 2008 21:22:37

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтр

скопи-пасти ошибку целиком.



Офлайн

#6 Дек. 27, 2008 21:29:43

YaJoN
От:
Зарегистрирован: 2008-12-22
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтр

shiza
скопи-пасти ошибку целиком.
вот ошибка: r“<td>(.*?)</td>”



Отредактировано (Дек. 27, 2008 21:30:25)

Офлайн

#7 Дек. 27, 2008 21:38:36

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтр

Ошибки целиком обычно выгледят примерно так:

Traceback (most recent call last):
File "C:\tmp\\op1.py", line 3, in <module>
result = re.findall(r"<td>(.*)?</td>", page_data)
NameError: name 'page_data' is not defined
Давай ее целиком.



Отредактировано (Дек. 27, 2008 21:38:57)

Офлайн

#8 Дек. 27, 2008 21:40:09

YaJoN
От:
Зарегистрирован: 2008-12-22
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтр

result = re.findall('<td>(.*?)</td>', the_page)



Офлайн

#9 Дек. 27, 2008 21:45:31

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтр

YaJoN
result = re.findall('<td>(.*?)</td>', the_page)
это не ошибка. это строчка кода.

Где тут
————————
Traceback (most recent call last):
File “C:\tmp\\op1.py”, line 3, in <module>
————————
и
————————
NameError: name ‘page_data’ is not defined
————————

??

Ошибку обычно выдает интерпретатор при попытке выполнения ошибочного кода.



Отредактировано (Дек. 27, 2008 21:46:44)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version