12-06-2020, 08:27 AM
(12-06-2020, 07:21 AM)Mou escribió: No puedes ver enlaces como invitado. Regístrate o conectate para verlo.(11-06-2020, 09:47 PM)JuanDeLaCierva escribió: No puedes ver enlaces como invitado. Regístrate o conectate para verlo.Me he dado cuenta de que el PC Fútbol 6.0 y el PC Basket 6.0 tienen una misma base. Por ejemplo, puede extraer los punteros (uid) de los los archivos PKF de forma automática. Estos son los punteros PC Basket 6.0 sacados de EQ022022.PKF:
Joder, eso está muy interesante. Para la actualización que estamos haciendo yo he hecho un editor que permite crear equipos de manera rapidísima parseando la web de proballers.com y luego lleva una base de datos que haría la actuación del año que viene extremadamente rápida.
Peeeero, solo cargo equipos que ya estén extraídos en dbc, el pkf no lo he parseado. Sería muy interesante poder hacerlo, sí señor. Cuando tenga un rato le echo un ojo a tu trabajo. Yo tengo el código subido a github, si te interesa echarle un ojo avisame.
Tenía un error en mi mensaje de ayer, los punteros son del PC Basket 6.0 y no PC Fútbol 6.0
Veo que estamos haciendo algo similar. Yo también hago crawl de datos, pero con páginas que tienen API's (*). Pero he encontrado otra API que me permite, como pongo, actualizar los datos en muy poco tiempo de forma automática Lo único malo es que son datos FUT y no tienen 2B, pero veo que Tronic utiliza esta página para hacer las actualizaciones (se podría hacer fácilmente otro crawler pero con el problema de que se cambian algo en la web, ya no valdría):
- No puedes ver enlaces como invitado. Regístrate o conectate para verlo.
Al ser usuario de Linux, pues como que soy más de herramientas de consola, así que la edición manual, se hace en un simple editor de texto cualquiera. Esta es la representación del Barcelona y Amunike (he borrado los tocho grandes de texto para mejor visibilidad):
Código:
Teams
[ E C { index = 1
, tid = 1
, tunknown00 = 1964
, name = "F.C. Barcelona"
, stadium = "Camp Nou"
, country = 22
, tunknown01 = 41
, fullname = "Fútbol Club Barcelona"
, capacity = 108428
, standing = 0
, width = 72
, length = 107
, founded = 1899
, formation = …
, tactics =
T { possession = 70
, counter = 57
, playstyle = Attacking
, tackling = Medium
, coverage = ManToMan
, clearance = Short
, preasure = Midfield
}
, staff =
[
, P (E C { pid = 2613
, number = 14
, name = "Amunike"
, fullname = "Emmanuel AMUNIKE «Padre de Luis Enrique»"
, index = 50
, status = Veteran
, roles = [ RF , LW , CF , LM ]
, citizenship = 43
, skin = Dark
, hair = Black
, position = FOR
, birthday = ( 25 , 12 , 1970 )
, height = 170
, weight = 69
, pace = 82
, stamina = 80
, aggression = 77
, skill = 80
, finishing = 80
, dribbling = 84
, passing = 61
, shooting = 84
, tackling = 63
, goalkeeping = 14
}
D { country = 43
, birthplace = "Ezebodo (Nigeria)"
, fromteam = "Sporting, POR (96)"
, nationalteam = "Nigeria"
, pdunknown00 = "x"
, …
, …
]
Edito el texto, lo grabo y luego las herramientas ya se encargan de los de los bytes y el rotado y tal:
Código:
--------------------------------------------------------------------------------
class ByteStream a where
bytes :: a -> Bytes
--------------------------------------------------------------------------------
instance ByteStream Bool where
bytes True = [0x01]
bytes False = [0x00]
instance ByteStream Word8 where
bytes = tbs 1
instance ByteStream Word16 where
bytes = tbs 2
instance ByteStream Word32 where
bytes = tbs 4
instance ByteStream String where
bytes x =
tbs 2 n ++ map r2b x
where
n = length x
--------------------------------------------------------------------------------
tbs
:: (Bits a, Integral a)
=> Int
-> a
-> Bytes
tbs n =
take n . (++ aux) . n2b 8 {- 2^8 = 256 -} id
where
aux =
cycle [0x00]
b2r
:: Byte
-> Char
b2r =
chr . fromIntegral . bijective
n2b
:: (Bits a, Integral a)
=> Int
-> (a -> a)
-> a
-> Bytes
n2b _ f 0 = [ fromIntegral $! f 0 ]
n2b b f n =
aux n
where
aux 0 = []
aux m =
r : aux c
where
c = m .>. b
r = fromIntegral $ f (m - c * 1 .<. b)
Como pongo, el código lo publicaré en GitLab.com antes o después de la charla (hay demasiado morralla que hay que limpiar todavía para hacerlo presentable).
(*) - Mi código inicial de FUT ya no vale ya que los de EA Sports no actualizan la antigua API (Eden Hazard sigue en el Chelsea).