How can I use Mathematica and Google scholar to find the number of papers a person published in 2011?
相关问题
- Puzzled by Function body evaluation
- how to overload Times and Plus for matrix multipli
- AOSP Build TARGET_PRODUCT fails
- Modifying a Graphics3D object generated by Paramet
- Mathematica “AppendTo” function problem
相关文章
- histogram without vertical lines in Mathematica
- Entering data with Input[] in mathematica
- Using Fold to calculate the result of linear recur
- How should I write a function to be used in Apply
- NMinimize eats all memory b/c of unnecessary symbo
- Mathematica: set default value for argument to non
- how does mathematica determine which rule to use f
- Animate the movement of a point along the plot of
Google Scholar is not very suited for this goal as it doesn't have a formal API AFAIK. It also doesn't provide results in a structured (e.g. XML) format. So, we have to resort to a quick (and very, very fragile!) text pattern matching hack like:
Add
ToExpression
if you don't like the string result. If you want to restrict the publication years you can add&as_ylo=2011&as_yhi=2011&
to the search string and change the start and end years appropriately.Please note that authors with popular names will generate lots of spurious hits as there is no way to uniquely identify a single author. Additionally, Scholar returns a diversity of hits, including citations, books, reprints and more. So, really, this ain't very useful for counting.
A bit of explanation:
Scholar splits the initials and names of authors and co-authors over several
author:
fields combined with a +. TheStringDrop[StringJoin @@ ("author:" <> # <> "+" & /@ StringSplit[author]), -1]
part of the code takes care of that. TheStringDrop
removes the last+
.The
Stringcases
part contains a large text pattern which basically searches for the text that Scholar places at the top of each results page and which contains the number of hits. This number is then isolated and returned.