Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

13.12.2009, 14:19
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|
Кодировка в python больная тема 
|
|
|

13.12.2009, 14:48
|
|
Познающий
Регистрация: 30.11.2009
Сообщений: 97
Провел на форуме: 333264
Репутация:
80
|
|
rushter, никакая она не больная  тыкни пальцем, где питон делает что-то не так, как надо.
2 [Dezzter], http://docs.python.org/library/re.html#re.S
|
|
|

13.12.2009, 14:50
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|
Сообщение от whexp
rushter, никакая она не больная  тыкни пальцем, где питон делает что-то не так, как надо.
2 [Dezzter], http://docs.python.org/library/re.html#re.S
Да всё так делает,просто постоянно надо использовать encode/decode
|
|
|

13.12.2009, 14:51
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от [Dezzter]
PHP код:
import re
import urllib2
url = urllib2.urlopen('http://site.ru/test.php')
url=url.read()
match=re.findall('<!-- test -->[ \r\t].*?<!-- test2 -->', url)
match=str(match)[2:-2]
print match
Проблема вот в чём, если HTML страница вот такого вида:
Код HTML:
<!-- test --> Сдесь какой-то текст <!-- test2-->
То всё парсится отлично, а вот если уже вот такого:
Код HTML:
<br><br><br>
<center> Первая строка </center>
<center> Вторая строка </center>
<!-- test -->
<br>
<center> Пляске </center>
<br>
<!-- test2 -->
<center> Третья строка </center>
<center> Четвёртая строка </center>
Тогда ни чего не парсится
Я так понял, что re.findall парсит только строку.. а у меня во втором примере, нужно уже спарсить несколько строк
Как решить эту проблему? Чёт питоновскую документацию полистал и не смог сам раздуплиться =/
re.DOTALL, re.MULTILINE
Но будет проц грузить...
|
|
|

13.12.2009, 14:57
|
|
Участник форума
Регистрация: 25.03.2009
Сообщений: 149
Провел на форуме: 1739459
Репутация:
116
|
|
Я только начал учить питон, так что если люди, которые смогут помогать, подсказывать? Если чего напишите аську.
|
|
|

13.12.2009, 14:57
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от *uNkN0Wn*
login999 после 1-го сообщения больше не отправляет. И еще с кодировкой проблема.
Вообще-то , это чисто учебный пример, и писался он от нехер делать, и сначала писался для граббы...Просто так.И он работал... Единственное где там могут быть траблы с кодировками - это на кнопках.И мне на него, если честно так пофику было то...
P.S. Поправил
|
|
|

13.12.2009, 15:02
|
|
Познающий
Регистрация: 30.11.2009
Сообщений: 97
Провел на форуме: 333264
Репутация:
80
|
|
2rushter, ну просто win-консоль использует cp866, сайты вообще используют кто utf-8, кто cp1251, кто koi8-r. поэтому и приходится перекодировать.
|
|
|

13.12.2009, 15:59
|
|
Участник форума
Регистрация: 27.04.2009
Сообщений: 189
Провел на форуме: 1141766
Репутация:
69
|
|
Код:
from numpy import *
from math import *
b1 = b2 = b3 = b4 = 1
ex = matrix('75,33,75;68,15,68;39,9,39;16,25,16;58,48,58;53,5,53;61,63,61;47,72,47;99,29,99;33,17,33;97,80,97;29,61,29;16,23,16;13,32,13;72,77,72;43,67,43;84,34,84;100,13,100;81,13,81;63,11,63')
Y = [0.00077385, 0.00042372, 8.8133, 4.5851, 9,4883, 0.0011336, 0.0011336, 0.10767, 0.43098, 0.80050, 0.00061111, 0.0031792, 44.0359, 0.01448, 0.0075917, 0.00026723, 0.000036466, 0.000095717, 0.000047435, 24.336]
m=20
n=4
eps=0.00001
X = zeros([m,n])
E = zeros([m,1])
B = zeros([n,1])
A = zeros([n,n])
bb1=bb2=bb3=bb4=k=0
while not ((abs((b1-bb1)/b1)<eps) and (abs((b2-bb2)/b2)<eps) and (abs((b3-bb3)/b3)<eps) and (abs((b4-bb4)/b4)<eps)):
k=k+1
print 'iteracya nomer', k
print ''
for element in range(0,m):
n1 = sin(b4*ex[element,2])*((b1+b2*ex[element,0]**2+cos(b3*ex[element,1])))**(sin(b4*ex[element,2])-1)
n2 = (sin(b4*ex[element,2])*((b1+b2*ex[element,0]**2+cos(b3*ex[element,1])))**(sin(b4*ex[element,2])-1))*ex[element,0]**2
n3 = (sin(b4*ex[element,2])*((b1+b2*ex[element,0]**2+cos(b3*ex[element,1])))**(sin(b4*ex[element,2])-1))*(-sin(b3*ex[element,2])*ex[element,2])
n4 = (sin(b4*ex[element,2])*((b1+b2*ex[element,0]**2+cos(b3*ex[element,1])))**(sin(b4*ex[element,2])))*log(b1+b2*ex[element,0]**2+cos(b3*ex[element,1]))*cos(ex[element,2]*b4)*ex[element,2]
X[element,0] = n1
X[element,1] = n2
X[element,2] = n3
X[element,3] = n4
E[element,0] = Y[element]-(b1+b2*ex[element,0]**2+cos(b3*ex[element,1]))**sin(b4*ex[element,2])
print 'matrix X:'
print X
A = dot(X.T,X)
A = linalg.inv(A)
Z = dot(X.T,E)
B = dot(A,Z)
print 'matrix B:'
print B
bb1=b1
bb2=b2
bb3=b3
bb4=b4
b1=b1+B[0]
b2=b2+B[1]
b3=b3+B[2]
b4=b4+B[3]
print b1,b2,b3,b4,k
трабла: на 3ей итерации: ValueError: math domain error...
wtf?!
|
|
|

13.12.2009, 19:07
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
2 TRX.new
лично я - хз...
|
|
|

13.12.2009, 19:46
|
|
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме: 1180737
Репутация:
180
|
|
Есть текст, одной строкой, вот кусок из него
idden\" name=\"fid\" id=\"fid\" value=\"9410924\" \/>\n <input type=\"hidden\" name=\"hash\" id=\"hash\" value=\"1260718814_aa0256f3b89294f28b\" \/>\n <input type=\"hidden\" name=\"cats\" id=\"privacy_cats\" \/>\n <input type=\"hi
мне нужно из него получить значение hash'a 1260718814_aa0256f3b89294f28b
Делаю так
print re.findall(r'id=\"hash\" value=\"(.*?)\"',data.read())
ничего ненаходит. Ну собсна я и неждал что это чтото найдет ибо это ваще какаято черная магия, пытался найти описание функции на русском, нихрена ненашол. Только посты на разных форумах, из чего примерно слепил свои параметры, но увы
PS. вот такой черной магие решил задачу
hash = re.findall(r'id=."hash."\svalue=."(.*?)."', data)[0]
Последний раз редактировалось cupper; 13.12.2009 в 20:31..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|