Package: etudier
étudieris a small Python program that usesSelenium,requests-htmlandnetworkxto drive anon-headlessbrowser to collect a citation graph around
a particularGoogle Scholarcitation or set of search results. The resulting
network is written out asGEXFandGraphMLfiles as well as an HTML file
that includes aD3network visualization (pictured above).If you are wondering why it uses a non-headless browser it's because Google isquite protectiveof this data and will routinely ask you to solve a captcha
(identifying street signs, cars, etc in photos) to prove you are not a bot.étudierallows you to complete these captcha tasks when they occur and then it
continues on its way collecting data. You need to have a browser to interact
with in order to do your part.InstallYou'll need to installChromeDriverbefore doing anything else. If you use
Homebrew on OS X this is as easy as:brew cask install chromedriverThen you'll want to installPython 3and:pip3 install etudierRunTo use étudier you first need to navigate to a page on Google Scholar that you are
interested in, for example here is the page of citations that reference Sherry
Ortner'sTheory in Anthropology since the Sixties. Then you startetudierup
pointed at that page.% etudier 'https://scholar.google.com/scholar?start=0&hl=en&as_sdt=20000005&sciodt=0,21&cites=17950649785549691519&scipsc='If you are interested in starting with keyword search results in Google Scholar
you can do that too. For example here is the url for searching for "cscw memory"
if I was interested in papers that talk about the CSCW conference and memory:% etudier 'https://scholar.google.com/scholar?hl=en&as_sdt=0%2C21&q=cscw+memory&btnG='Note: it's important to quote the URL so that the shell doesn't interpret the
ampersands as an attempt to background the process.--pagesBy defaultétudierwill collect the 10 citations on that page and then look at
the top 10 citations that reference each one. So you will end up with no more
than 100 citations being collected (10 on each page * 10 citations).If you would like to get more than one page of results use the--pages. For
example this would result in no more than 400 (20 * 20) results being collected:% etudier --pages 2 'https://scholar.google.com/scholar?start=0&hl=en&as_sdt=20000005&sciodt=0,21&cites=17950649785549691519&scipsc='--depthAnd finally if you would like to look at the citations of the citations you use the
--depth parameter.% etudier --depth 2 'https://scholar.google.com/scholar?start=0&hl=en&as_sdt=20000005&sciodt=0,21&cites=17950649785549691519&scipsc='This will collect the initial set of 10 citations, the top 10 citations for
each, and then the top 10 citations of each of those, so no more than 1000
citations 1000 citations (10 * 10 * 10). It's no more because there is certain
to be some cross-citation duplication.--outputBy defaultoutput.gexf,output.graphmlandoutput.htmlfiles will be
written to the current working directory, but you can change this with the--outputoption to control the prefix that is used. The output file will
contain rudimentary metadata collected from Google Scholar including:id- the cluster identifier assigned by Googleurl- the url for the publicationtitle- the title of the publicationauthors- a comma separated list of the publication authorsyear- the year of publicationcited-by- the number of other publications that cite the publicationcited-by-url- a Google Scholar URL for the list of citing publicationsmodularity - the modularity value obtained from community detectionFeatures of HTML/D3 outputNode's color shows its citation groupNode's size shows its times being citedClick node to open its source websiteDragable nodesZoom and panDouble-click to center nodeResizable windowText labelsHover to highlight 1st-order neighborhoodClick and press node to fade surroundings