summaryrefslogtreecommitdiff
path: root/scraper/scholar-fetch.py
diff options
context:
space:
mode:
authorAdam Harvey <adam@ahprojects.com>2018-12-23 01:37:03 +0100
committerAdam Harvey <adam@ahprojects.com>2018-12-23 01:37:03 +0100
commit4452e02e8b04f3476273574a875bb60cfbb4568b (patch)
tree3ffa44f9621b736250a8b94da14a187dc785c2fe /scraper/scholar-fetch.py
parent2a65f7a157bd4bace970cef73529867b0e0a374d (diff)
parent5340bee951c18910fd764241945f1f136b5a22b4 (diff)
.
Diffstat (limited to 'scraper/scholar-fetch.py')
-rw-r--r--scraper/scholar-fetch.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/scraper/scholar-fetch.py b/scraper/scholar-fetch.py
new file mode 100644
index 00000000..e206b058
--- /dev/null
+++ b/scraper/scholar-fetch.py
@@ -0,0 +1,44 @@
+import os
+import sys
+import csv
+import subprocess
+import time
+import random
+import re
+import click
+
+@click.command()
+@click.option('--index', '-n', default=1, help='Index of CSV.')
+def fetch_entries(index):
+ keys, lines = read_citation_list(index)
+
+ for line in lines:
+ label = line[0]
+ title = line[1]
+ entries_fn = './datasets/scholar/entries/{}.csv'.format(title)
+ # print(entries_fn)
+ if not os.path.exists(entries_fn):
+ with open(entries_fn, 'w') as f:
+ t = re.sub(r'[^-0-9a-zA-Z ]+', '', title)
+ print(t)
+ subprocess.call([
+ './vendor/scholar.py',
+ '-t', '-A', t, '--csv',
+ ], stdout=f)
+ time.sleep(random.randint(30, 60))
+
+
+def read_citation_list(index):
+ filename = './datasets/citations.csv'
+ # fn, ext = os.path.splitext(filename)
+ # in_fn = fn + '-' + str(index) + ext
+ # with open(in_fn, 'r') as f:
+ with open(filename, 'r') as f:
+ reader = csv.reader(f)
+ lines = list(reader)
+ keys = lines[0]
+ lines = lines[1:]
+ return keys, lines
+
+if __name__ == '__main__':
+ fetch_entries()