Fluxuri RSS
Un număr mare de site-uri Web oferă deja acces la conținut prin fluxuri RSS. Acesta este standardul de sindicalizare pentru publicarea de actualizări regulate ale conținutului web pe baza unui tip de fișier XML care se află pe un server de internet. Pentru site-urile web, fluxurile RSS pot fi create manual sau automat (cu software).
Un cititor de flux RSS citește fișierul de flux RSS, găsește ce este nou, îl convertește în HTML și îl afișează. Fragmentul de program din Fig. 7 arată codul pentru instrucțiunile de control și canal pentru fluxul RSS. Declarațiile de canal definesc feedul sau canalul general, un set de declarații de canal în fișierul RSS.
<?xml version="1.0" encoding="UTF-8"?>
<rss [...] version="2.0">
// RSS channel-specific tags:
<channel>
[...]
<copyright>© Copyright The Financial Times Ltd 2012. "FT" and "Financial
Times" are trademarks of the Financial Times.
See http://www.ft.com/servicestools/help/terms#legal1 for the terms and
conditions of reuse.</copyright>
<pubDate>Fri, 26 Oct 2012 09:42:18 GMT</pubDate> // Timestamp RSS was published
at.
<lastBuildDate>Fri, 26 Oct 2012 09:59:36 GMT</lastBuildDate> // Last built
timestamp of the RSS.
<webMaster>client.support@ft.com (Client Support)</webMaster> // Web master
contact address.
<ttl>15</ttl> // Time to live – the number of minutes the feed can stay cached
before refreshing it from the source.
<category>Newspapers</category> // RSS category.
[...]
// RSS feed-specific tags (e.g. below there is a news
story): title, description, link, date published, article ID.
<item>
<title>Cynthia Carroll resigns at Anglo American</title>
<link>http://www.ft.com/cms/s/0/d568891e-1f35-11e2-b2ad-
00144feabdc0.html?ftcamp=published_links%2Frss%2Fhome_uk%2Ffeed%2F%2Fproduct</link>
<description>Cynthia Carroll departs the mining group following speculation for
some time that she was under pressure
at the strike-hit company</description>
<pubDate>Fri, 26 Oct 2012 07:33:44 GMT</pubDate>
<guid isPermaLink="false">http://www.ft.com/cms/s/0/d568891e-1f35-11e2-b2ad-
00144feabdc0.html?ftcamp=published_links%2Frss%2Fhome_uk%2Ffeed%2F%2Fproduct</guid>
<ft:uid>d568891e-1f35-11e2-b2ad-00144feabdc0</ft:uid>
</item>
[...]
</channel>
</rss>
Fig. 7 Exemplu de control al fluxului RSS și declarații de canal
Bloguri, grupuri de știri și servicii de chat
Blog scraping este procesul de scanare a unui număr mare de bloguri, de obicei zilnic, căutând și copiind conținut. Acest proces se desfășoară prin un software automat. Figura 8 ilustrează exemplu de cod pentru blog scraping. Aceasta implică obținerea codului sursă al unui site web prin intermediul clasei URL Java, care poate fi analizat în cele din urmă prin expresii regulate pentru a capta conținutul țintă.
// Use Java’s URL, InputStream and DataInputStream
classes to read in the content of the supplied URL.
URL url;
InputStream inputStream = null;
DataInputStream dataInputStream;
String line;
scrapedContent = "";
try {
// Attempt to open the URL (if valid):
url = new URL("http://blog.wordpress.com/");
inputStream = url.openStream(); // throws an IOException
dataInputStream = new DataInputStream(new BufferedInputStream(inputStream));
// Read the content line by line and store it in the
scrapedContent variable:
while ((line = dataInputStream.readLine()) != null) {
scrapedContent += line + "\n";
}
} catch (MalformedURLException exception) {
exception.printStackTrace();
} catch (IOException exception) {
exception.printStackTrace();
} finally {
try {
inputStream.close();
} catch (IOException exception) {
}
}
[...]
// Use regular expressions (RE) to parse the desired content from the
scrapedContent. RE will attempt to delimit text between
some unique tags.
Fig. 8 Exemplu de cod pentru blog scraping
Fluxuri de știri
Fluxurile de știri sunt livrate într-o varietate de formate textuale, adesea ca documente XML care pot fi citite de mașină, fișiere JSON sau CSV. Acestea includ valori numerice, etichete și alte proprietăți care tind să reprezinte știrile de bază. În scopuri de testare, informațiile istorice sunt adesea furnizate prin fișiere plate, în timp ce datele în direct pentru producție sunt procesate și livrate prin fluxuri de date directe sau API. Figura 9 arată un fragment al apelurilor software pentru a prelua articole filtrate din NY Times.
nyTimesArticles = GET
http://api.nytimes.com/svc/search/v1/article?query=(field:)keywords
(facet:[value])(¶ms)&apikey=
your-API-key
parse_JSON(nyTimesArticles)
Fig. 9 Scanarea articolelor din New York Times
După ce am examinat fluxurile de date „clasice” din rețelele sociale, ca o ilustrare a surselor de date inovatoare, vom analiza pe scurt fluxurile geospațiale.
Fluxuri geospațiale
O mare parte din datele „geospațiale” din rețelele sociale provin de la dispozitive mobile care generează date sensibile la locație și la timp. Se pot diferenția între patru tipuri de fluxuri de rețele sociale mobile (Kaplan 2012):
- Sensibile la locație și timp — schimb de mesaje cu relevanță pentru o anumită locație la un anumit moment de timp (de exemplu, Foursquare).
- Sensibile numai la locație — schimb de mesaje cu relevanță pentru o anumită locație, care sunt etichetate într-un anumit loc și citite mai târziu de către alții (de exemplu, Yelp și Qype)
- Sensibile numai la timp — transferul aplicațiilor tradiționale de rețele sociale pe dispozitive mobile pentru a crește instantaneitatea (de exemplu, postarea de mesaje Twitter sau actualizări de stare Facebook)
- Insensibile la locație sau timp — transferul aplicațiilor tradiționale de rețele sociale pe dispozitive mobile (de exemplu, vizionarea unui videoclip YouTube sau citirea unei intrări Wikipedia)
Cu dispozitivele mobile din ce în ce mai avansate, în special smartphone-urile, conținutul (fotografii, mesaje SMS etc.) are adăugată o identificare geografică, numită „geoetichetă”. Aceste metadate geospațiale sunt, de obicei, coordonate de latitudine și longitudine, deși pot include și altitudine, direcționare, distanță, date de precizie sau nume de locuri. GeoRSS este un standard emergent pentru codificarea locației geografice într-un flux web, cu două codificări principale: GeoRSS Geography Markup Language (GML) și GeoRSS Simple.
Exemple de instrumente sunt GeoNetwork Opensource — o aplicație gratuită de catalogare cuprinzătoare pentru informațiile cu referință geografică, și FeedBurner — un furnizor de fluxuri web care poate furniza și fluxuri geoetichetate, dacă setările de fluxuri specificate permit acest lucru.
Ca o ilustrare, Fig. 10 prezintă pseudo-codul pentru analiza unui flux geospațial.
// Attempt to get the web site geotags by scraping the web page source code:
try getIcbmTags() // attempt to get ICBM tags, such as <meta name='ICBM'
content="latitude, longitude" />
try getGeoStructureTags() // attempt to get tags such as <meta
name="geo.position" content="coord1;coord2" />, <meta
name="geo.region" content="region">, <meta name="geo.placename" content="Place
name">
// Attempt to get the web site’s RSS geotags by scraping the RSS feeds, where
the RSS source or each article can have their
own geotags.
// Attempt to get Resource Description Framework (RDF) tags, such as
<rdf:RDF><geo:Point><geo:lat>latitude</geo:lat><geo:long>longitude</geo:long><geo:alt>altitude</geo:alt></geo:Point></rdf:
RDF>
try getRdfRssTags()
// Attempt to get RSS article-specific geotags, e.g.: <rss
version=”2.0”><item><title>title</title>[...]><icbm:latitude>latitude</icbm:latitude><icbm:longitude>longitude</icbm:longitude>[..
.]</item>
try getIcbmRssTags()
Fig. 10 Pseudo-cod pentru analizarea unui flux geospațial
Referințe
- Kaplan AM, Haenlein M (2010) Users of the world, unite! the challenges and opportunities of social media. Bus Horiz 53(1):59-68
Sursa: Bogdan Batrinca, Philip C. Treleaven, „Social media analytics: a survey of techniques, tools and platforms„, AI & Soc (2015) 30:89-116 DOI 10.1007/s00146-014-0549-4, Creative Commons Attribution License. Traducere și adaptare Nicolae Sfetcu
Lasă un răspuns