diff options
| author | Stanislav Boboň | 2021-01-21 11:09:31 +0100 |
|---|---|---|
| committer | Stanislav Boboň | 2021-01-21 11:09:31 +0100 |
| commit | b53b3a11dcb4bce789fc627b3220392eb9aca753 (patch) | |
| tree | b919c589f773deb0ff395c25338faeff93b5e8b6 | |
| parent | 2ab0411a926b90ea996c9778e4b679bb05d264f0 (diff) | |
| download | sec-certs-b53b3a11dcb4bce789fc627b3220392eb9aca753.tar.gz sec-certs-b53b3a11dcb4bce789fc627b3220392eb9aca753.tar.zst sec-certs-b53b3a11dcb4bce789fc627b3220392eb9aca753.zip | |
continuous downloading of alg pages
| -rw-r--r-- | sec_certs/dataset.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sec_certs/dataset.py b/sec_certs/dataset.py index 110f650c..02034474 100644 --- a/sec_certs/dataset.py +++ b/sec_certs/dataset.py @@ -559,8 +559,17 @@ class FIPSDataset(Dataset, ComplexSerializableType): def download_all_algs(self): algs_paths, algs_urls = [], [] + # get first page to find out how many pages there are + helpers.download_file( + 'https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/validation-search?searchMode=validation&page=1', + self.algs_dir / "page1.html") + + with open(self.algs_dir / "page1.html", "r") as alg_file: + soup = BeautifulSoup(alg_file.read(), 'html.parser') + num_pages = soup.select('span[data-total-pages]')[0].attrs + self.algs_dir.mkdir(exist_ok=True) - for i in range(1, 502): + for i in range(1, int(num_pages['data-total-pages'])): if not (self.algs_dir / f'page{i}.html').exists(): algs_urls.append( f'https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program/validation-search?searchMode=validation&page={i}') |
