blob: e70b3cbdf3847f323c689e7bb191ba62a7d990d7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/bin/bash
# Directory containing the papers
PAPER_DIR="../papers"
echo "Fetching abstracts for arXiv papers in $PAPER_DIR..."
echo "===================================================="
for file in "$PAPER_DIR"/*.pdf; do
# Extract the arXiv ID (e.g., 2401.05566) from the filename
filename=$(basename "$file")
id=$(echo "$filename" | grep -oE '[0-9]{4}\.[0-9]{4,5}')
if [ -n "$id" ]; then
echo "FILE: $filename"
echo "ID: $id"
# Fetch XML from arXiv API and parse the <summary> tag using Python
curl -s "https://export.arxiv.org/api/query?id_list=$id" | \
python3 -c "
import sys, xml.etree.ElementTree as ET
try:
xml_data = sys.stdin.read()
root = ET.fromstring(xml_data)
ns = {'atom': 'http://www.w3.org/2005/Atom'}
summary = root.find('.//atom:summary', ns)
if summary is not None:
print(summary.text.strip())
else:
print('Abstract not found in API response.')
except Exception as e:
print(f'Error parsing response: {e}')
"
echo "----------------------------------------------------"
else
echo "Skipping: $filename (No arXiv ID detected)"
echo "----------------------------------------------------"
fi
sleep 1
done
|