Mi chiedo se ci sono eventuali librerie esistenti o accessibili da Objective-C che mi consentirebbe di raschiare pagine formattate come this one. In particolare, tutte le date e tutto il testo accanto a ciascuna data. In caso contrario, quale sarebbe il modo migliore per farlo? Espressioni regolari? Ho sentito che NSString
potrebbe già avere metodi integrati per questo. È vero?Scraping e analisi di una pagina di Wikipedia
Mi sono guardato intorno per vedere se esisteva un'alternativa allo scraping, ad esempio un file XML o un'API. Ho trovato un'API, ma gli unici client che vedo disponibili sono in altre lingue e sembrano essere in grado di pubblicare contenuti in pagine, non di recuperarli.
EDIT: Così ho trovato più informazioni per quanto riguarda l'API a questi link:
E sono stato in grado di venire con this request che restituisce un po 'di HTML testo codificato (Beh, il formato è XML, ma include il testo della pagina come »a href=
ecc. Continuerò a cercare tra i documenti per vedere se riesco a fare e questo esce un po 'meglio, se non è così, ci sono raccomandazioni per analizzare questo?
EDIT 2: Va bene così, grazie al this doc page, il modo più semplice e più pulito in cui sono stato in grado di recuperare i dati sta usando questo constructed link che restituisce i dati grezzi (Nel wiki markup) della relativa sezione. Tuttavia, suppongo che avrei quindi bisogno di analizzarlo, anche se questo è davvero il caso, dovrebbe essere molto più semplice dell'intero articolo.
Qualcuno ha qualche consiglio sull'analisi del markup wiki come il seguente in Objective-C?
==Events==
* [[710]] – [[Saracen]] invasion of [[Sardinia]].
*[[1275]] – Traditional founding of the city of [[Amsterdam]].
*[[1682]] – [[Philadelphia]], [[Pennsylvania]] is founded.
Quello che voglio finire con l'avere è, immagino una collezione NSDictionary
o simile che memorizzerà la data con il frammento di accompagnamento delle informazioni. Grazie!
Grazie per quello, lo apprezzo. Penso che il modo in cui andrò (l'unico modo in cui posso vederlo) è ottenere il bit dei dati grezzi e poi in qualche modo analizzarlo. Ho incluso un esempio dei dati sopra, anche se molto probabilmente creerò una nuova domanda per questo. –
I nuovi dati sono molto più semplici da analizzare: lo gestisco cercando l'intervallo di stringhe che inizia dopo gli eventi, quindi eseguendo una corrispondenza con numeri puri tra parentesi, insieme a qualsiasi cosa dopo l'ndash fino alla fine della riga. allora dovresti solo togliere tutti i caratteri "[" e "]" e saresti tutto pronto. Più semplice da elaborare rispetto all'HTML, che è super pesante. –
Grazie, ti dispiacerebbe rispondere alla mia successiva domanda riguardante l'analisi? http://stackoverflow.com/questions/1634012/how-to-parse-some-wiki-markup Grazie! –