import json import ssl import uuid import time import urllib.request import urllib3 from datetime import datetime, timedelta from utils import translate, sentiment_computation, upsert_content, fetch_url, extract_from_pdf i = 1 while i > -1: CATEGORY_URL = f"https://www.cbirc.gov.cn/cn/static/data/DocInfo/SelectDocByItemIdAndChild/data_itemId=917,pageIndex={i},pageSize=18.json" i = i + 1 print(CATEGORY_URL) content = fetch_url(CATEGORY_URL) reportinfo = json.loads(content) for article in reportinfo['data']['rows']: try: article['publishDate'] = time.strftime("%Y-%m-%d", time.strptime(article['publishDate'],"%Y-%m-%d %H:%M:%S")) parsed_datetime = datetime.strptime(article['publishDate'], "%Y-%m-%d") if parsed_datetime < (datetime.today() - timedelta(days=183)): i = -1 else: contentCN, summary = extract_from_pdf("https://www.cbirc.gov.cn" + article['pdfFileUrl']) article['contentCN'] = repr(contentCN)[1:-1].strip() if len(contentCN) < 10: continue CONTENT_ENG = '' for element in article['contentCN'].split("\n"): CONTENT_ENG += translate(element) + '\n' article['content'] = repr(CONTENT_ENG)[1:-1].strip() article['site'] = "National Financial Regulatory Administration of China" article['originSite'] = "国家金融监督管理总局" article['titleCN'] = article['docSubtitle'] article['title'] = translate(article['docSubtitle']) article['link'] = "https://www.cbirc.gov.cn" + str(article['pdfFileUrl']) article['category']= "Policy Interpretation" article['id'] = uuid.uuid5(uuid.NAMESPACE_OID, article['titleCN']+article['publishDate']) article['sentimentScore'], article['sentimentLabel'] = sentiment_computation(article['content']) article['attachment'] = '' article['author'] = '' article['subtitle'] = translate(summary) upsert_content(article) except Exception as error: print(error) # ssl._create_default_https_context = ssl._create_stdlib_context # i = 0 # while i > -1: # CATEGORY_URL = f"https://www.chinatax.gov.cn/search5/search/s?siteCode=bm29000002&searchWord=&type=1&xxgkResolveType=%E6%96%87%E5%AD%97&pageNum={i}&pageSize=10&cwrqStart=&cwrqEnd=&column=%E6%94%BF%E7%AD%96%E8%A7%A3%E8%AF%BB&likeDoc=0&wordPlace=0&videoreSolveType=" # i = i + 1 # urllib3.disable_warnings() # try: # req = urllib.request.urlopen(CATEGORY_URL, timeout=30) # except: # break # content = req.read().decode("utf-8") # reportinfo = json.loads(content) # for article in reportinfo['searchResultAll']['searchTotal']: # try: # parsed_datetime = datetime.strptime(time.strftime("%Y-%m-%d", time.strptime(article['cwrq'],"%Y-%m-%d %H:%M:%S")), "%Y-%m-%d") # if parsed_datetime < (datetime.today() - timedelta(days=183)): # i = -1 # else: # article['originalContent'] = article['content'].replace('\\u','') # if len(article['originalContent']) < 10: # continue # CONTENT_ENG = '' # for element in article['originalContent'].split("。"): # CONTENT_ENG += translate(element) + ' ' # article['content'] = CONTENT_ENG # article['site'] = "State Taxation Administration of China" # article['originalSite'] = "国家税务总局" # article['originalTitle'] = article['title'] # article['title'] = translate(article['originalTitle']) # article['url'] = article['snapshotUrl'] # article['category']= "Policy Interpretation" # article['publishDate'] = time.strftime("%Y-%m-%d", time.strptime(article['cwrq'],"%Y-%m-%d %H:%M:%S")) # article['id'] = uuid.uuid5(uuid.NAMESPACE_OID, article['title']+article['publishDate']) # article['sentimentScore'], article['sentimentLabel'] = sentiment_computation(article['content']) # upsert_content(article) # except Exception as error: # print(error)