Download van postgeschiedenis

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Voor een project ben ik mijn postgeschiedenis op internet aan het indexeren. Het betreft al mijn posts op Tweakers, maar bijvoorbeeld ook op Facebook, in mijn mail en op andere plaatsen. Nu kan ik natuurlijk handmatig al mijns topics gaan nalopen om de posts te copy-pasten, maar volgens mij ben ik niet zen genoeg om dat een levensvatbare exercitie te maken, gezien de ~20k posts. Ik vroeg mij af of dergelijke data voor jullie misschien toegankelijk is op een manier waar ik iets aan heb. Over eventuele mitsen en maren kan uiteraard overlegd worden, ik denk graag mee :Y

Een tweede (of eigenlijk derde natuurlijk) optie zou een script of botje zijn die mijn posts crawlt, maar aangezien mijn programmeerkunde vooralsnog niet zover strekt is dat niet mijn eerste optie, plus dat ik niet weet of het negatieve consequenties zou hebben voor de servers als iedere post/topic nog eens opgehaald en nagelopen wordt en ik de technische crew graag vrolijk houd.

Ik hoor het graag *O*

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Zelfs als de devvers hier tijd voor mogen en willen maken: hoe wilde je ditzelfde spits krijgen op andere sites? Facebook gaat sowieso geen database-export voor je draaien. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe schreef op zaterdag 11 augustus 2012 @ 03:59:
Zelfs als de devvers hier tijd voor mogen en willen maken
Ik heb weinig of geen idee van de bestaande databasestructuren, dus ik weet ook niet precies hoe zoiets opgeslagen staat. Dat is dan ook de reden van mijn vraag :)

Ik weet dat devtijd kostbaar en gewild is, maar dat hoeft natuurlijk niet noodzakelijk de enige oplossing of nodig te zijn.
: hoe wilde je ditzelfde spits krijgen op andere sites? Facebook gaat sowieso geen database-export voor je draaien. ;)
Het volume aan Facebookdata is in mijn geval aanzienlijk kleiner. Dat is eventueel met de hand te doen, plus dat ik nog een ijzer in het vuur heb omdat men verplicht is hun data van/over jou af te staan op basis van een bepaalde privacywet. Ik moet daarvan nog even uitzoeken of die ook op mij en mijn Facebookposts van toepassing is, maar voor zover ik het nu heb kunnen nazoeken wel.

Bij mijn mail en een aantal andere dingen kan ik gewoon een backupdump maken, bij andere fora heb ik o.a. ingangen bij de crew of is het postvolume dusdanig klein dat handmatig werken nauwelijks langer duurt dan op een andere manier.

Acties:
  • 0 Henk 'm!

  • JvS
  • Registratie: Februari 2000
  • Laatst online: 20-09 16:54

JvS

Ik heb hem zelf ook

Je kunt je posts gewoon allemaal onder elkaar zetten en indien. Heb je geen tweakers voor nodig:

gathering.tweakers.net/forum/find/poster/172410/messages

4x APsystems DS3; 4x495Wp OZO/WNW 10° ; 4x460Wp OZO/WNW 10°; Totaal 3820Wp


Acties:
  • 0 Henk 'm!

Verwijderd

NMe schreef op zaterdag 11 augustus 2012 @ 03:59:
Facebook gaat sowieso geen database-export voor je draaien. ;)
Facebook data export http://givememydata.com/

[ Voor 70% gewijzigd door Verwijderd op 11-08-2012 08:48 ]


Acties:
  • 0 Henk 'm!

  • Thandor
  • Registratie: Juni 2002
  • Laatst online: 20:36

Thandor

SilverStreak

JvS schreef op zaterdag 11 augustus 2012 @ 07:33:
Je kunt je posts gewoon allemaal onder elkaar zetten en indien. Heb je geen tweakers voor nodig:

gathering.tweakers.net/forum/find/poster/172410/messages
Inderdaad, en het 'Maximaal aantal berichten per pagina' (instelling in MyReact > Voorkeuren) heeft hier invloed op. Je zou deze dus hoger kunnen zetten om het kopiëren wat efficiënter te maken :).

Profiel | https://thandor.net - hardware
And the rest of us would be carousing the aisles, stuffing baloney.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Of ?limit=999 achter de url plakken ;) dan ben je met 19 pagina's indexeren klaar :)

[ Voor 37% gewijzigd door RobIII op 11-08-2012 09:59 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
NMe schreef op zaterdag 11 augustus 2012 @ 03:59:
Facebook gaat sowieso geen database-export voor je draaien. ;)

Download your information

Get a copy of what you've shared on Facebook.
Easily download and browse through a personal archive of your Facebook photos, posts and messages. Learn more about downloading a copy of your information.

Start My Archive


What's in your archive?
  • Photos or videos you've shared on Facebook
  • Your Wall posts, messages and chat conversations
  • Your friends' names and some of their email addresses
(Note: We'll only include email addresses for friends who've allowed this in their account settings.)
What's not in your archive?
  • Your friends' photos and status updates
  • Other people's personal info
  • Comments you've made on other people's posts
You can also download an expanded archive to see more about your account history. Learn what's included.
Caution: Protect your archive
Your Facebook archive includes sensitive info like your private Wall posts, photos and profile information. Please keep this in mind before storing or sending your archive.
Tabelletje met wat wel en wat niet in de download zit, inclusief die expanded archive e.d.: https://www.facebook.com/help/326826564067688

[ Voor 4% gewijzigd door Osiris op 11-08-2012 10:06 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
JvS schreef op zaterdag 11 augustus 2012 @ 07:33:
Je kunt je posts gewoon allemaal onder elkaar zetten en indien. Heb je geen tweakers voor nodig:

gathering.tweakers.net/forum/find/poster/172410/messages
Kijk, met dergelijke suggesties komen we er wel :Y
RobIII schreef op zaterdag 11 augustus 2012 @ 09:58:
Of ?limit=999 achter de url plakken ;) dan ben je met 19 pagina's indexeren klaar :)
Deze werkt op deze computer niet zoals ik zou denken dat het moet werken (ik krijg nog steeds evenveel posts te zien), maar deze computer stamt dan ook uit de tijd van het houten internet. Ik zal het thuis nog eens proberen, als dat de boel inderdaad reduceert tot 19-20 pagina's dan heb ik wat ik nodig heb.

Dan schrijf ik met mijn mad Qbasicskills (ja, echt) nog een mooi progseltje om de specifieke data uit de plaintekst bestanden/html's te extraheren (geen quotes, headers et cetera) en ik heb precies wat ik wil *O*

Bedankt voor het meedenken tot nu toe! d:)b
Osiris schreef op zaterdag 11 augustus 2012 @ 10:04:
Tabelletje met wat wel en wat niet in de download zit, inclusief die expanded archive e.d.: https://www.facebook.com/help/326826564067688
Na overstelpt te zijn met verzoeken hebben ze deze pagina's in het leven geroepen, maar het schijnt dat ze in deze downloads allerlei data achterwege laten. Er lopen zaken over bij de Ierse commissie en nu ook bij de Europese variant.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op zaterdag 11 augustus 2012 @ 21:28:
Deze werkt op deze computer niet zoals ik zou denken dat het moet werken (ik krijg nog steeds evenveel posts te zien)
En je doet wel http://gathering.tweakers...172410/messages?limit=999 ?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Precies die, maar ik zie nu dat ik wellicht had onderschat hoeveel berichten ik spam op het forum. Even snel tot 100 tellen bevestigd dat er zomaar 999 berichten op die pagina kunnen staan :Y Het werkt dus, geweldig!

Het enige wat nu nog niet lukt is op pagina twee komen met de volgende 999 berichten. Ik heb http://gathering.tweakers.net/forum/find/poster/172410/messages?limit=999?data[page]=2 geprobeerd, maar dan krijg je gewoon de eerste 999 posts te zien. Andersom levert http://gathering.tweakers...es?data[page]=2?limit=999 999 posts op vanaf de tweede pagina van je normale posts-per-pagina setting.

Edit: oh, there we go. Gewoon in mijn voorkeuren de postsetting naar 999 gooien, dan werkt het allemaal. Niet vergeten de boel weer terug te zetten, want anders krijg je heeeeele lange topics en computers die dat niet zo leuk vinden. Het apparaat hier heeft letterlijk een uur staan swappen bij het uitzoeken en proberen van die paar dingen ;( Thank god dat ik niet zoveel Youtubefilmpjes post, dan was het wel einde verhaal geweest.

Acties:
  • 0 Henk 'm!

  • Dick
  • Registratie: Januari 2003
  • Niet online
Gewoon uit interesse, maar wat is het doel van het voor jou indexeren van al je internetposts?

Acties:
  • 0 Henk 'm!

  • Brilsmurfffje
  • Registratie: December 2007
  • Niet online

Brilsmurfffje

Parttime Prutser

Ik krijg wel al je topics over 2 pagina's :+

http://gathering.tweakers...2410/2/messages?limit=999

Misschien helpt het je

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Verwijderd schreef op zaterdag 11 augustus 2012 @ 23:53:
[...]

Precies die, maar ik zie nu dat ik wellicht had onderschat hoeveel berichten ik spam op het forum. Even snel tot 100 tellen bevestigd dat er zomaar 999 berichten op die pagina kunnen staan :Y Het werkt dus, geweldig!

Het enige wat nu nog niet lukt is op pagina twee komen met de volgende 999 berichten. Ik heb http://gathering.tweakers.net/forum/find/poster/172410/messages?limit=999?data[page]=2 geprobeerd, maar dan krijg je gewoon de eerste 999 posts te zien. Andersom levert http://gathering.tweakers...es?data[page]=2?limit=999 999 posts op vanaf de tweede pagina van je normale posts-per-pagina setting.
zie Wikipedia: Query string

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dick schreef op zaterdag 11 augustus 2012 @ 23:58:
Gewoon uit interesse, maar wat is het doel van het voor jou indexeren van al je internetposts?
Een tijd terug heb ik een TED talk gezien van Matt Cutts, die iedere maand iets nieuws ging doen; een boek schrijven, leren programmeren, dat soort dingen en dat iedereen dat eens zou moeten proberen. Het ging er daarbij niet om iets fantastisch te maken, maar om jezelf nieuwe dingen te leren en nieuwe dingen over jezelf te leren. Hoe fantastisch ik dat idee ook vind, ik heb daar uiteindelijk niets mee gedaan. Misschien wil ik dat nog wel een keer gaan doen.



Het idee ging gecombineerd met dat ik vind dat ik teveel tijd op internet verspil wel knagen; wat zou ik gedaan kunnen hebben als ik die tijd doelgericht ergens in gestoken had? Nu zijn er veel zaken waar ik die tijd aan had kunnen besteden, maar de meest directe en visuele manier om dat voor mijzelf in eerste instantie duidelijk te krijgen leek mij een boek samen te stellen van de content die ik gegenereerd heb. Ik ben er nog niet helemaal uit of daar ook plaatjes en andere zaken bij horen, maar voor nu gaat het echt om de tekstuele informatie van eigen hand. Het voorlopige doel is daar een echt boek van samen te stellen en dat netjes te binden, zodat ik (en alle andere mensen) het resultaat in een vorm kan zien die ik begrijp en vast kan houden. Bij dit soort projecten heb je vaak dat er gaandeweg nieuwe ideeen en doelen ontstaan, wat het vervolg daarna gaat zijn weet ik nog niet.

Wat ik overigens wel al merk is dat het soms erg confronterend is wat er allemaal niet-publiekelijk maar vooral ook wel publiekelijk terug te lezen is van en over jezelf. Dingen die je enkele jaren terug hebt gelezen zie je nu toch in een ander licht, om maar niet te spreken over wat je allemaal te weten zou kunnen komen als je er slimme analytische schema's op los laat. Dat zou mogelijk een volgende stap kunnen zijn; zelfanalyse in de meest statistische zin.

Sowieso vind ik het wel grappig om een soort backup te hebben van de dingen die je gedaan hebt. Veel is verloren gegaan, maar mogelijk nog veel meer is nog wel terug te vinden.
Thanks, ik wist dat het nooit al te moeilijk kon zijn *O* Dit is een andere reden om dergelijk projecten aan te gaan; je leert links en rechts over allerhande onderwerpen ontzettend veel bij.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:06

crisp

Devver

Pixelated

als je /forum/ vervangt door /xml/ dan heb je meteen een makkelijk parse-baar formaat ;)

[ Voor 4% gewijzigd door crisp op 16-08-2012 22:36 ]

Intentionally left blank


  • zeef
  • Registratie: Januari 2000
  • Laatst online: 23:48
crisp schreef op donderdag 16 augustus 2012 @ 22:35:
als je /forum/ vervangt door /xml/ dan heb je meteen een makkelijk parse-baar formaat ;)
Jij bent op vakantie!!!111 :+

  • JJ Le Funk
  • Registratie: Januari 2004
  • Niet online

JJ Le Funk

:twk

er bestaat ook een browser plugin die in het geval van meerdere pagina's alvast de volgende ophaalt en de pagina daarna. weet niet meer hoe het heet maar tweakers was er mee compatible.

d:)b


  • HenkEisDS
  • Registratie: Maart 2004
  • Laatst online: 21-09 01:11
Verwijderd schreef op zaterdag 11 augustus 2012 @ 23:53:
[...]

Even snel tot 100 tellen bevestigd dat er zomaar 999 berichten op die pagina kunnen staan :Y Het werkt dus, geweldig!
Heb je wel eens gehoord van CTRL-F op webpagina's? Zeker als je jezelf bezig gaat houden met het aggregaten van data moet je niet handmatig gaan lopen tellen. Gewoon zoeken op iets dat uniek is per post, desnoods in de HTML code, maar niet gaan lopen tellen. :p

Op die voorbeeld url met ?bla=999 zal zoeken op "geplaatst op" het aantal berichten tonen, niet je naam natuurlijk want die komt ook wel eens voor in posts.

  • RaZ
  • Registratie: November 2000
  • Niet online

RaZ

Funky Cold Medina

MrJayMan schreef op donderdag 16 augustus 2012 @ 23:47:
er bestaat ook een browser plugin die in het geval van meerdere pagina's alvast de volgende ophaalt en de pagina daarna. weet niet meer hoe het heet maar tweakers was er mee compatible.
Fasterfox bedoel je zeker? Maar die is op GoT wel geblokt in de robots.txt, dus daar heb je niets aan.

[ Voor 52% gewijzigd door RaZ op 16-08-2012 23:54 ]

Ey!! Macarena \o/


Acties:
  • 0 Henk 'm!

  • JJ Le Funk
  • Registratie: Januari 2004
  • Niet online

JJ Le Funk

:twk

RaZ schreef op donderdag 16 augustus 2012 @ 23:53:
[...]


Fasterfox bedoel je zeker? Maar die is op GoT wel geblokt in de robots.txt, dus daar heb je niets aan.
ik had al zo'n vermoeden dat dit een onding was voor de database server load balancer natuurlijk :)

[ Voor 4% gewijzigd door JJ Le Funk op 17-08-2012 00:16 ]

d:)b


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

De database boeit het geen fluit aangezien de meest zware dingen toch wel gecachet zijn, maar de load balancer gooit je wel automatisch op de zwarte lijst als je dergelijke aantallen requests doet. Er staan nogal wat links op de gemiddelde pagina op Tweakers. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kijk, wat een hulp, wat een meedenken *O* Ik was bang dat het een erg moeilijk verhaal kon gaan worden, maar dat blijkt allemaal reuze mee te vallen.
crisp schreef op donderdag 16 augustus 2012 @ 22:35:
als je /forum/ vervangt door /xml/ dan heb je meteen een makkelijk parse-baar formaat ;)
Ik zal wel met mijn neus kijken, maar wat zou er daarbij moeten gebeuren? Als ik bijvoorbeeld http://gathering.tweakers.net/xml/find/poster/172410/2/messages?limit=999 invoer krijg ik niets dan een lege pagina. Ook andere adressen die naar mijn specifieke posts zouden moeten wijzen (en dat ook doen met /forum/) leveren een lege pagina op, in Firefox en in Chrome.
HenkEisDS schreef op donderdag 16 augustus 2012 @ 23:52:
Heb je wel eens gehoord van CTRL-F op webpagina's? Zeker als je jezelf bezig gaat houden met het aggregaten van data moet je niet handmatig gaan lopen tellen. Gewoon zoeken op iets dat uniek is per post, desnoods in de HTML code, maar niet gaan lopen tellen. :p

Op die voorbeeld url met ?bla=999 zal zoeken op "geplaatst op" het aantal berichten tonen, niet je naam natuurlijk want die komt ook wel eens voor in posts.
Je hebt natuurlijk gelijk, maar hierbij was het een waarschijnlijk niet sneller geweest dan het ander :)

[ Voor 28% gewijzigd door RobIII op 22-08-2012 17:32 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 22 augustus 2012 @ 17:22:
Ik zal wel met mijn neus kijken, maar wat zou er daarbij moeten gebeuren?
Dan krijg je XML... Doe eens "paginabron weergeven" of "view source" (of CTRL-U) ofzo. Dan hoef je niet tussen de HTML te peuteren naar je berichten (en andere metadata) maar krijg je 't meteen in gestructureerde vorm aangeleverd. Simpeler als dat krijg je 't niet.

Bij een dergelijke limit (999) kan 't overigens wel even duren; voor testdoeleinden gebruik je beter een limit 50 of 100 ofzo.

[ Voor 37% gewijzigd door RobIII op 22-08-2012 17:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ah, juustem. Na een reboot heeft Chrome er zin in, ik kan nu zien wat de bedoeling is :Y

Het ziet er naar uit dat ik daar met enig gemak alle <message_content> uit kan destilleren, daarna moet ik nog eens even zien hoe ik daar weer alleen mijn eigen teksten uit krijg. Dat lijkt me geen onmogelijke opgave, al zou ik nu zo snel even niet weten hoe.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 22 augustus 2012 @ 18:58:
daarna moet ik nog eens even zien hoe ik daar weer alleen mijn eigen teksten uit krijg
Het zal wel aan mij liggen, maar als je deze url gebruikt (met een eventuele hogere limit zodat je minder "pages" hoeft op te halen) gebruikt dan krijg je toch alleen maar je eigen berichten? Of bedoel je dat je eventuele quotes van andere users uit je eigen berichten daar nog uit wil halen? In dat geval kun je alles tussen (en inclusief) <blockquote> en </blockquote> weggooien en dan zit je volgens mij wel safe.

[ Voor 10% gewijzigd door RobIII op 22-08-2012 19:13 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op woensdag 22 augustus 2012 @ 19:11:
Het zal wel aan mij liggen, maar als je deze url gebruikt (met een eventuele hogere limit zodat je minder "pages" hoeft op te halen) gebruikt dan krijg je toch alleen maar je eigen berichten? Of bedoel je dat je eventuele quotes van andere users uit je eigen berichten daar nog uit wil halen?
Je begrijpt het helemaal :) Ik wil nu echt alleen de door mij gegenereerde content destilleren, dus quotes en (gelukkig) ook eigen quotes mogen eruit. Dat is misschien wel interessant voor later onderzoek, maar voor nu zoek ik de zo droog mogelijke content.
In dat geval kun je alles tussen (en inclusief) <blockquote> en </blockquote> weggooien en dan zit je volgens mij wel safe.
Ik ga mijn programmeerskills eens aanslingeren en eens zien wat er dan allemaal overblijft :)

Voor nu iedereen bedankt voor het meedenken :Y

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben inmiddels redelijk onderweg met een progseltje dat de boel uit elkaar peutert, analyseert en de nuttige delen in een ander bestand dumpt. Het valt me alleen op dat <message_content> netjes op die manier in de .XML's staat, terwijl <blockquote> als & #60;blockquote&#62 (zonder spatie) als HTML-entity in het bestand terecht komt. Het lijkt er op dat alles dat in de message_content staat dus net een andere weergave krijgt, maar waarom snap ik niet helemaal. Op zich valt dat met wat handigheid en beunwerk wel te fixen, maar heeft dat een reden en valt dat op een of andere manier te veranderen (voordat ik daarmee dus aan de slag ga met mijn programma)?

Is het toevallig omdat het forum het op die manier weergeeft en dat bij de rest niet gebeurt omdat dat achtergrondmeuk is?

[ Voor 3% gewijzigd door Verwijderd op 29-08-2012 00:08 ]


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 08:06

crisp

Devver

Pixelated

Gebruik je wel een echte XML-parser?

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
crisp schreef op woensdag 29 augustus 2012 @ 00:09:
Gebruik je wel een echte XML-parser?
Een wat? :+

Ik heb de .XML gedownload via Chrome, simpelweg save as op het moment dat de volledige XML getoond wordt. Daarna lees ik het in Qbasic in als platte tekst, wat voor het grootste deel dus a-ok gaat. Dan staat het echter al in het 'gemankeerde' format dat ik hierboven noem, te zien in mijn eigen programma (direct uit die XML) of bij hernoemen naar .TXT.

Ik kan dat blijkbaar beter op een andere manier doen? Ik zie nu inderdaad dat hetzelfde via Firefox alweer een andere output oplevert ( & lt;/blockquote&gt )

O, en deze pagina verkloot mijn detectiesysteem wel op heerlijke wijze, met al die opmaak in de tekst :p

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 29 augustus 2012 @ 00:01:
Het valt me alleen op dat <message_content> netjes op die manier in de .XML's staat, terwijl <blockquote> als & #60;blockquote&#62 (zonder spatie) als HTML-entity in het bestand terecht komt.
Nogal wiedes; maar daarvoor moet je eigenlijk in PRG zijn ;)
Dit heeft te maken met (character) escaping en 't feit dat je:
XML:
1
2
3
<message_content> 
  This is <bar>whooptieedoo</bar> awesome! 
</message_content>

geen message_content met een child node bar wil hebben die weer een b node heeft (of beter: een DOM(fragment)):
Afbeeldingslocatie: http://tweakers.net/ext/f/5geuyAQdSzqEJ19iIYuYznBh/full.png
maar een enkele string die de hele message bevat:
XML:
1
<message_content>This is &#60;bar&#62;whoopt&#60;b&#62;iii&#60;/b&#62;eedoo&#60;/bar&#62; awesome!</message_content>

(wat overigens equivalent is aan de named entities variant i.t.t. de numeric representation hierboven):
XML:
1
<message_content>This is &lt;bar&gt;whoopt&lt;b&gt;iii&lt;/b&gt;eedoo&lt;/bar&gt; awesome!</message_content>


Afbeeldingslocatie: http://tweakers.net/ext/f/G72jvuEQLAlYdcB3UTTbCHXC/full.png
Oh SH*T! Seriously? :X :X 8)7
Je bent dus XML aan 't lezen met de Left$ van de Right$ van de Mid$ van de Instr van $x waarbij $x staat voor ingelezen string uit file? :o

XML lees je met een XML (DOM/SAX/...?) parser. Niet anders.
Verwijderd schreef op woensdag 29 augustus 2012 @ 00:19:
O, en deze pagina verkloot mijn detectiesysteem wel op heerlijke wijze, met al die opmaak in de tekst :p
:D _O- En daarom ga je niet zelf zitten fröbelen met strings maar gebruik je een parser.

Als je nu QBasic gebruikt kan ik je VB.Net aanbevelen (en vers van de pers: de 2012 versie). Kijk dan eens naar, oh, pick one: Linq2Xml, XmlDocument, XmlReader, ...

Je moet met een paar regels code de XML van t.net kunnen halen, parsen en de gewenste nodes kunnen uitlezen. Als je XML als een string(s) gaat behandelen ga je 100% zeker weten de mist in. Maar daar ben je zojuist zelf al achter gekomen ;)

[ Voor 46% gewijzigd door RobIII op 29-08-2012 01:52 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Xml.Linq;
using System.Xml.XPath;

namespace TNetConsoleDemoApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var http = WebRequest.Create("http://gathering.tweakers.net/xml/find/poster/172410/messages?limit=30");
            var root = XElement.Parse(new StreamReader(http.GetResponse().GetResponseStream()).ReadToEnd());
            var data = from p in root.XPathSelectElements("section/output_result/sections/section/output_result/sections/section")
                       select new
                       {
                           topicid = p.Element("topic_id").Value,
                           messageid = p.Element("message_id").Value,
                           content = p.Element("message_content").Value,
                           poster = p.Element("message_poster_nickname").Value,
                           //....
                       };

            Console.WriteLine("TopicId\tMsgId\t\tPoster\t\tContent");
            Console.WriteLine(new string('-', 75));
            foreach (var r in data)
                Console.WriteLine("{0}\t{1}\t{2}\t\t{3}...", r.topicid, r.messageid, r.poster, new string(r.content.Take(35).ToArray()));
        }
    }
}

Output:
TopicId MsgId           Poster          Content
---------------------------------------------------------------------------
1512516 38827976        Camacha         <blockquote><div>quote:</div><div c...
1512516 38827910        Camacha         Ik ben inmiddels redelijk onderweg ...
1445230 38827761        Camacha         Ik denk dat het wel minder efficien...
1514591 38825470        Camacha         <blockquote><div>quote:</div><div c...
1514591 38825407        Camacha         <blockquote><div>quote:</div><div c...
1514591 38825367        Camacha         <blockquote><div>quote:</div><div c...
1514591 38825270        Camacha         <blockquote><div>quote:</div><div c...
1514591 38825247        Camacha         <blockquote><div>quote:</div><div c...
1514591 38825195        Camacha         <blockquote><div>quote:</div><div c...
1514591 38825170        Camacha         <blockquote><div>quote:</div><div c...
1514591 38825156        Camacha         <blockquote><div>quote:</div><div c...
1514591 38825104        Camacha         <blockquote><div>quote:</div><div c...
1514591 38825057        Camacha         <blockquote><div>quote:</div><div c...
1514591 38824988        Camacha         Zeven procent is wel veel, als je k...
1514591 38824441        Camacha         Ik lees hier alleen in dat hij inde...
1489010 38824093        Camacha         Je account zou inderdaad geen probl...
1514306 38821112        Camacha         Zoals gezegd vraagt Solidworks voor...
1514320 38819855        Camacha         Kwastjes zijn vaak van kunststof en...
1495892 38817968        Camacha         <blockquote><div>quote:</div><div c...
1514392 38815702        Camacha         Ga niet absurd hoog met de voeding,...
1514306 38815669        Camacha         <blockquote><div>quote:</div><div c...
1470796 38815664        Camacha         <blockquote><div>quote:</div><div c...
1514366 38815650        Camacha         <blockquote><div>quote:</div><div c...
1514366 38815354        Camacha         Vergeet ook niet dat BF3 juist uitz...
1514366 38815196        Camacha         <blockquote><div>quote:</div><div c...
1514366 38815154        Camacha         <blockquote><div>quote:</div><div c...
1514366 38815018        Camacha         <blockquote><div>quote:</div><div c...
1514338 38815006        Camacha         Ik moet toch denken aan diverse ond...
1495892 38814894        Camacha         Een wetswijziging lijkt me met een ...
1514320 38814741        Camacha         <blockquote><div>quote:</div><div c...

Het is wat "compact" geschreven (en in C# maar de VB.Net equivalent is net zo simpel en zelfs, als het goed is, gewoon te converteren (zoiets ongeveer)) en er ontbreekt nogal wat foutafhandeling, het doorgeven van een TNetID, paging etc. maar dit is 't basic idea ;) Dat had je heel wat geklooi met Save as... in Chrome/FireFox/whatnot gescheeld :P

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wauw, epic help is epic :D
RobIII schreef op woensdag 29 augustus 2012 @ 00:20:
Nogal wiedes; maar daarvoor moet je eigenlijk in PRG zijn ;)
Dit heeft te maken met [url="http://en.wikipedia.org/wiki/XML#Characters_and_escaping"](character)
[...]
maar een enkele string die de hele message bevat:
Ah, simpel en duidelijk. Dat ligt inderdaad in de lijn van wat ik al vermoedde, al had ik het niet zo helder als dit.

Ik zal even een TR aanmaken of en wat er verplaatst moet worden naar een passender plek.
Oh SH*T! Seriously? :X :X 8)7
Je bent dus XML aan 't lezen met de Left$ van de Right$ van de Mid$ van de Instr van $x waarbij $x staat voor ingelezen string uit file? :o

XML lees je met een XML (DOM/SAX/...?) parser. Niet anders.
LEN, MID$, INSTR en read$, maar verder pretty much spot on :Y

Dat ik je in mijn slaap kan vertellen wat er veranderd is in de nieuwe architectuur van AMD en wat de gevolgen daarvan zijn en met één hand achter mijn rug een computer in elkaar zet betekent niet dat ik vanzelf een codebaas ben :'(
Je moet met een paar regels code de XML van t.net kunnen halen, parsen en de gewenste nodes kunnen uitlezen. Als je XML als een string(s) gaat behandelen ga je 100% zeker weten de mist in. Maar daar ben je zojuist zelf al achter gekomen ;)
RobIII schreef op woensdag 29 augustus 2012 @ 01:21:
Het is wat "compact" geschreven (en in C# maar de VB.Net equivalent is net zo simpel en zelfs, als het goed is, gewoon te converteren (zoiets ongeveer)) en er ontbreekt nogal wat foutafhandeling, het doorgeven van een TNetID, paging etc. maar dit is 't basic idea ;) Dat had je heel wat geklooi met Save as... in Chrome/FireFox/whatnot gescheeld :P
Inderdaad. Hoewel ik natuurlijk wel weet dat mijn methode gehannes is, *had* ik het gevoel dat het wel voor elkaar te krijgen was. Ik ben en blijf op dit vlak een fröbelaar, meer kan ik eigenlijk ook niet hopen. Dit project is hierbij wel van onder controle naar in way over my head gegaan ;(

Ik denk dat de prudente aanpak voor nu even roeien met de riemen die ik heb is, in het kader van de planning van het project en een proof of concept. Daarna lijkt het me handig om verder te gaan met de lijn die jij hierboven uitzet en het op een wat degelijker manier aan te pakken. Ik had al een paar keer gekeken naar een andere (moderne) taal en dit lijkt me een goede motivatie om dat nu eens door te zetten. Met het oog op de algemene bruikbaarheid, JAVA (min of meer), Android, en in iets mindere mate Arduino lijkt C# me daarvoor het meest interessant. Ik zou waarschijnlijk makkelijker overweg kunnen met Visual Basic (daar heb ik in een grijs verleden ook nog wel eens mee gestoeid), maar ik denk dat ik er op deze manier op de lange termijn meer aan heb.

Dit gaat wel een wat langer verhaal worden dan in eerste instantie voorzien, maar goed, dat is op zich niet echt een probleem :Y Je opzetje gaat waarschijnlijk wel ontzettend helpen, dat maakt het een stuk makkelijker met betrekkelijk weinig kennis alvast e.e.a. voor elkaar te krijgen.

Wel erg tof om te zien wat er allemaal mogelijk is. Ik beschouw mijzelf als redelijk op de hoogte van de meeste computerzaken, maar dit gaat toch wel een stapje verder dan wat ik ken en zit ook in een andere hoek dan waar ik normaal aan het spelevaren ben. De integratie met het onlinegebeuren heb ik nog niet zo gezien :)
Pagina: 1