| 161 | self.searchType = "1,9" |
| 162 | |
| 163 | def getLawList(self, page=1): |
| 164 | params = self.params + [ |
| 165 | ('searchType', f'title;accurate;{self.searchType}'), |
| 166 | ('sortTr', 'f_bbrq_s;desc'), |
| 167 | ('gbrqStart', ''), |
| 168 | ('gbrqEnd', ''), |
| 169 | ('sxrqStart', ''), |
| 170 | ('sxrqEnd', ''), |
| 171 | ('sort', 'true'), |
| 172 | ('page', str(page)), |
| 173 | ('size', '10'), |
| 174 | ('_', self.req_time) |
| 175 | ] |
| 176 | |
| 177 | cache_key = sha1(json.dumps(params).encode()).hexdigest() |
| 178 | |
| 179 | if cache := self.cache.get(cache_key, CacheType.WebPage, "json"): |
| 180 | return cache |
| 181 | |
| 182 | response = requests.get('https://flk.npc.gov.cn/api/', |
| 183 | headers=REQUEST_HEADER, params=params) |
| 184 | sleep(1) |
| 185 | logger.debug( |
| 186 | f"requesting [{response.status_code}] {self.params} page={page} ") |
| 187 | |
| 188 | ret = response.json() |
| 189 | self.cache.set(cache_key, CacheType.WebPage, ret, "json") |
| 190 | return ret |
| 191 | |
| 192 | def get_law_detail(self, law_id: str): |
| 193 | if cache := self.cache.get(law_id, CacheType.WebPage, "json"): |