Software | |
Přehled
Co kdybyste měli nápad na ekologickou studii, ale údaje, které jste potřebovali, vám nebyly k dispozici? Co kdybyste chtěli potvrdit jedno ze svých měření porovnáním svých odhadů s externími zdroji? Co děláš?
Pro jednoho byste mohli jít a získat data online. Web scraping (sklizeň webu nebo extrakce dat z webu) je technika počítačového softwaru, která umožňuje extrahovat informace z webových stránek. Pokud chcete z dokumentu extrahovat data, zkopírovali a vložili požadované prvky. Pro web je to trochu složitější, protože jsou informace formátovány a ukládány, obvykle jako HTML kód. Škrabky tedy fungují tak, že analyzují zdrojový kód HTML webu, aby extrahovaly a načetly konkrétní prvky v kódu stránky.
Popis
Vyhledávací stroje používají k procházení webových stránek konkrétní typ škrabky, nazývaný webový prohledávač nebo vyhledávací robot, a určují, na které weby odkazují a jaké výrazy používají. To by mohlo znamenat, že kolem byly první webové škrabky na počátku devadesátých let .
Google a Facebook opravdu přineslo škrábání na jinou úroveň . Google seškraboval web, aby katalogizoval všechny informace na internetu a zpřístupnil je. V poslední době Facebook pomocí škrabek pomáhá lidem najít spojení a vyplnit jejich sociální sítě.
Zákonnost
To záleží na tom, co si myslíte význam legality je. Zatímco precedenty soudu z počátku století udávaly tón bezohledného škrábání obsahu, nedávná rozhodnutí se posunula směrem ke konzervativnějšímu přístupu. Obecně platí, že pokud musíte souhlasit s podmínkami souhlasu, pokud jsou data k dispozici ke koupi, nebo pokud jsou data za přihlášením, šlapete v legální temné oblasti. I když není splněna žádná z těchto výhrad, můžete být stále v horké vodě .
Etika
Tady nějaké jsou obecné etické otázky zvážit před škrábáním:
1) Respektujte přání hostujícího webu
Některé weby mohou obsahovat pokyny pro roboty a škrabky, které popisují prvky, které lze škrábat, a které prvky jsou mimo limity. Tyto stránky obsahují soubory robot.txt, které neumožňují škrábání konkrétního obsahu. Pokud musíte souhlasit s jakýmikoli podmínkami, nezapomeňte si je důkladně přečíst. Zkontrolujte, zda existuje API nebo zda jsou data jinak k dispozici ke stažení nebo prodeji.
2) Respektujte šířku pásma hostujícího webu
Hostování webových stránek stojí peníze a škrábání zabírá šířku pásma. Pokud jste obeznámeni s Útoky odmítnutí služby , škrábání nebo odesílání robotů na web je podobné. Napište odpovědné programy, které omezují využití šířky pásma. Mezi žádostmi počkejte několik sekund a zkuste škrábat mimo špičku. Nakonec seškrábněte pouze to, co potřebujete.
3) Respektujte zákon
Někteří tomu říkají krádež; někteří tomu říkají legitimní obchodní praktika. Skutečnost, že máte přístup k datům, neznamená, že je můžete použít pro svůj výzkum. Některá data jsou citlivější. Zejména, časově citlivá data je populární. Například úspěšný bookmaker možná bude chtít nechat své sázky uvést u sázkové veřejnosti, ale zjevně by nechtěl, aby to věděli jejich konkurenti. Přečtěte si podmínky dohody, pokud existují, nebo jen být podvratnější .
domov karen russellové st lucy
Příklad aplikace
Následuje krátký příklad škrábání údajů o výpisech apartmánů s jednou ložnicí na Manhattanu pomocí R. Tento kód lze snadno upravit pro jinou velikost, umístění a další vybavení bytu nastavením jiného vyhledávacího filtru na Naked Apartments a vložením aktualizované adresy URL níže .
1) Získejte adresu URL webové stránky
# nastavuje maximální počet stránek s výsledky vyhledávání. Aktuálně nastaveno na 800.
s<- as.character(seq(1,800,by=1))
adresy URL<- paste0(url, s)
2) Oškrábejte řádky kódu
# načíst knihovny
vyžadovat (RCurl)
knihovna (stringr)
ZDROJ<- getURL(urls,encoding=UTF-8″) # Specify encoding when dealing with non-latin characters
3) Analyzujte HTML kód, abyste izolovali data
PARSED<- htmlParse(SOURCE)
# cena a okolí
výpisy<- (xpathSApply(PARSED, [PATH], xmlValue))
# oříznout prázdné místo
nejlepší vysoké školy v New Yorku
výpisy<- str_trim(listings)
výpisy<- strsplit(listings, , )
záložky<- matrix(unlist(listings), , 2, byrow=TRUE)
colnames (tabs)<- cbind(price, neighborhood)
# lat a dlouho
let<- (xpathSApply(PARSED, div[@id]/@data-latitude))
dlouho<- (xpathSApply(PARSED, div[@id]/@data-longitude))
záložky 1<- cbind(tabs, lat, long)
row.names (tabs1)<- seq(nrow(tabs1))
4) Vyčistěte a vložte prvky do datového rámce
to je<- data.frame(tabs1)
lat<- as.numeric(tabs1[,3])
dlouho<- as.numeric(tabs1[,4])
lats [lats == 0]<- NA
dlouhý [dlouhý == 0]<- NA
mydf [, 3]<- lats
mydf [, 4]<- longs
cena<- mydf[,1]
cena1<- gsub($, , as.character(price), fixed=TRUE)
cena2<- gsub(,, , as.character(price1), fixed=TRUE)
cena3<- as.numeric(price2)
mydf [, 1]<- price3
hlava (mydf)
NOVÝ<- mydf[complete.cases(mydf),]
tabulka (complete.cases (NEW))
Který<- tapply(NEW$price, NEW$neighborhood, mean)
p<- as.matrix(dat)
p
p [objednávka (p [, 1]),]
Čtení
Učebnice a kapitoly
HANRETTY, C. 2013. Škrábání webu pro umění a humanitní vědy.
Články
NAN, X. Web scraping with R. In: ROAD2STAT, ed. 6. Čína R 2013 Peking.
LEE, B. K. 2010. Epidemiologický výzkum a Web 2.0 - web řízený uživateli. Epidemiologie, 21,760-3.
SIGNORINI, A., SEGRE, A. M. & POLGREEN, P. M. 2011. Využití Twitteru ke sledování úrovní aktivity onemocnění a veřejného zájmu v USA během pandemie chřipky A H1N1. PLoS One, 6, e19467.
CUNNINGHAM, J. A. 2012. Používání Twitteru k měření vzorců chování. Epidemiologie, 23, 764-5.
CHEW, C. & EYSENBACH, G. 2010. Pandemie ve věku Twitteru: obsahová analýza tweetů během vypuknutí H1N1 v roce 2009. PLoS One, 5, e14118.
[O etice: Škrábání obrazovky: jak těžit z údajů vašeho soupeře]
http://www.bbc.co.uk/news/technology-23988890
[O etice: Záleží na tom, co znamená význam slova nelegální]
http://www.distilnetworks.com/is-web-scraping-illegal-depends-on- what-the-meaning-of-the-word-is-is
[O etice - zločin za škrabku na obrazovku]
http://www.forbes.com/sites/andygreenberg/2012/11/21/security-researchers-cry-foul-over-conviction-of-att-ipad-hacker/
[Programování s humanisty: Úvahy o vybudování armády hackerských učenců]
http://blog.hartleybrody.com/web-scraping/ http://openbookpublishers.com/htmlreader/DHP/chap09.html#ch09
Webové stránky
[Charles DiMaggio o škrábání webu]
http://www.columbia.edu/~cjd11/charles_dimaggio/DIRE/styled-4/styled-6/code-13/
kreslil doktor charles richard
[Základy škrábání webu - část I ze III]
http://www.r-bloggers.com/web-scraping-in-r/
[Škrábání Google Scholar]
http://www.r-bloggers.com/web-scraper-for-google-scholar-updated
[Jak koupit ojetý vůz s R]
http://www.r-bloggers.com/web-scraper-for-google-scholar-updated
[Komerční web pro škrabky]
https://scraperwiki.com/
[Komerční web pro sešrotovaná data]
http://scrapy.org/
Kurzy
NA dvoudenní kurz EPIC pokrývá digitální akvizici velkých dat
BARBERA, P. NYU Workshop Politics Data Lab Workshop: Škrábání dat z Twitteru a webu pomocí R. Department of Politics, 2013 New York University
STARKWEATHER, J. 2013. Pět snadných kroků pro sešrotování dat z webových stránek. Srovnávání RSS záležitostí.