Try95th

s3platform_pandas_only for so_q_75828625

Mar 25th, 2023 (edited)
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ## for https://stackoverflow.com/q/75828625/6146136
  2.  
  3. import pandas as pd
  4.  
  5. output_fp = 'digital-innovation-hubs.csv'
  6. dfList, pg_num, max_pg = [], 0, None
  7. base_url = 'https://s3platform.jrc.ec.europa.eu/digital-innovation-hubs-tool'
  8. while (pg_num:=pg_num+1) and (not isinstance(max_pg,int) or pg_num<max_pg):
  9.     pg_url = f'{base_url}?_eu_europa_ec_jrc_dih_web_DihWebPortlet_cur={pg_num}'
  10.     # try: dfList += pd.read_html(pg_url, extract_links='all')[:1] ## [needs v1.5.0.]
  11.     try: dfList += pd.read_html(pg_url)[:1]
  12.     except Exception as e: pg_num, _ = -1, print(f'\n{e!r} from {pg_url}')
  13.     else: print('', end=f'\rScraped {len(dfList[-1])} rows from {pg_url}')
  14.  
  15. # pd.concat(dfList).to_csv(output_fp, index=False) ## save without page numbers
  16. df=pd.concat(dfList, keys=list(range(1,len(dfList)+1)),names=['from_pg','pgi'])
  17. df.reset_index().drop('pgi',axis='columns').to_csv(output_fp, index=False)
Advertisement
Add Comment
Please, Sign In to add comment