GodsDevProject commited on
Commit
cbabbe3
·
verified ·
1 Parent(s): 8b85254

Create ingest/adapters/cia.py

Browse files
Files changed (1) hide show
  1. ingest/adapters/cia.py +11 -10
ingest/adapters/cia.py CHANGED
@@ -3,11 +3,13 @@ from bs4 import BeautifulSoup
3
  from ingest.generic_public_foia import GenericFOIAAdapter
4
 
5
  class CIAAdapter(GenericFOIAAdapter):
6
- source_name = "CIA CREST"
7
- agency = "CIA"
8
  base_url = "https://www.cia.gov/readingroom/search/site"
9
 
10
  async def search(self, query: str):
 
 
 
11
  await self._rate_limit()
12
  params = {"search_api_fulltext": query}
13
 
@@ -18,19 +20,18 @@ class CIAAdapter(GenericFOIAAdapter):
18
  soup = BeautifulSoup(html, "html.parser")
19
  results = []
20
 
21
- for r in soup.select(".search-result"):
22
- title_el = r.select_one("h3")
23
- link_el = r.select_one("a")
24
 
25
- if not title_el or not link_el:
26
  continue
27
 
28
  results.append({
29
  "source": self.source_name,
30
- "agency": self.agency,
31
- "title": title_el.get_text(strip=True),
32
- "url": "https://www.cia.gov" + link_el["href"],
33
- "snippet": ""
34
  })
35
 
36
  return results
 
3
  from ingest.generic_public_foia import GenericFOIAAdapter
4
 
5
  class CIAAdapter(GenericFOIAAdapter):
6
+ source_name = "CIA"
 
7
  base_url = "https://www.cia.gov/readingroom/search/site"
8
 
9
  async def search(self, query: str):
10
+ if not self.robots_allowed():
11
+ return []
12
+
13
  await self._rate_limit()
14
  params = {"search_api_fulltext": query}
15
 
 
20
  soup = BeautifulSoup(html, "html.parser")
21
  results = []
22
 
23
+ for item in soup.select(".search-result"):
24
+ title = item.select_one("h3")
25
+ link = item.select_one("a")
26
 
27
+ if not title or not link:
28
  continue
29
 
30
  results.append({
31
  "source": self.source_name,
32
+ "title": title.text.strip(),
33
+ "url": link["href"],
34
+ "snippet": title.text.strip()
 
35
  })
36
 
37
  return results