datacipen commited on
Commit
991a8b6
1 Parent(s): 0e55ef1

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +60 -16
main.py CHANGED
@@ -1022,32 +1022,76 @@ async def ChiffresClesMetier(url, codes):
1022
  for i in range(0,len(codeArray)):
1023
  response = requests.get(url + codeArray[i])
1024
  soup = BeautifulSoup(response.text, "html.parser")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1025
  alltitre = soup.select('h1#titreMetier')
 
 
 
1026
  allembauches = soup.select('div.jobs_item-container-flex')
 
 
 
1027
  allsalaires = soup.select('div.key-number_block.shadow.inset')
 
 
 
1028
  allsalairesMedian = soup.select('tbody.sectorTable__body')
 
 
 
1029
  allDiff = soup.select('div.dynamism_canvas-wrapper > p.sr-only')
 
 
 
1030
  allDiffOrigin = soup.select('div.tabs-main-data_persp-col2')
 
 
 
 
1031
  allContrat = soup.find_all("div", class_="hiring-contract_legende_item ng-star-inserted")
1032
- allTypeContrat = ""
1033
  for j in range(0,len(allContrat)):
1034
  allTypeContrat = allTypeContrat + removeTags(allContrat[j]) + ", "
 
1035
  allEntreprise = soup.find_all("div", class_="horizontal-graph_patterns")
1036
- all = all + "\n\nChiffres-clés Métier " + removeTags(alltitre[0]) + ":\nDemandeurs d'emploi et Offres d'emploi : " + removeTags(allembauches[0]) + ". Salaires proposés dans les offres : " + removeTags(allsalaires[0]) + ". Salaires médians constatés : " + removeTags(allsalairesMedian[0]) + ". Difficultés de recrutement pour les entreprises : " + removeTags(allDiff[0]) + ". Origine des difficultés : " + removeTags(allDiffOrigin[0]) + ". Répartition des embauches par type de contrat : " + allTypeContrat + ". Répartition des embauches par taille d'entreprise : " + removeTags(allEntreprise[0]) + "."
1037
- else:
1038
- response = requests.get(url + codes)
1039
- soup = BeautifulSoup(response.text, "html.parser")
1040
- alltitre = soup.select('h1#titreMetier')
1041
- allembauches = soup.select('div.jobs_item-container-flex')
1042
- allsalaires = soup.select('div.key-number_block.shadow.inset')
1043
- allsalairesMedian = soup.select('tbody.sectorTable__body')
1044
- allDiff = soup.select('div.dynamism_canvas-wrapper > p.sr-only')
1045
- allDiffOrigin = soup.select('div.tabs-main-data_persp-col2')
1046
- allContrat = soup.find_all("div", class_="hiring-contract_legende_item ng-star-inserted")
1047
- allTypeContrat = ""
1048
- for j in range(0,len(allContrat)):
1049
- allTypeContrat = allTypeContrat + removeTags(allContrat[j]) + ", "
1050
- allEntreprise = soup.find_all("div", class_="horizontal-graph_patterns")
1051
  all = "\n\nChiffres-clés Métier " + removeTags(alltitre[0]) + ":\nDemandeurs d'emploi et Offres d'emploi : " + removeTags(allembauches[0]) + ". Salaires proposés dans les offres : " + removeTags(allsalaires[0]) + ". Salaires médians constatés : " + removeTags(allsalairesMedian[0]) + ". Difficultés de recrutement pour les entreprises : " + removeTags(allDiff[0]) + ". Origine des difficultés : " + removeTags(allDiffOrigin[0]) + ". Répartition des embauches par type de contrat : " + allTypeContrat + ". Répartition des embauches par taille d'entreprise : " + removeTags(allEntreprise[0]) + "."
1052
  return all
1053
 
 
1022
  for i in range(0,len(codeArray)):
1023
  response = requests.get(url + codeArray[i])
1024
  soup = BeautifulSoup(response.text, "html.parser")
1025
+ if soup.select('h1#titreMetier'):
1026
+ alltitre = soup.select('h1#titreMetier')
1027
+ else:
1028
+ alltitre = [" "]
1029
+ if soup.select('div.jobs_item-container-flex'):
1030
+ allembauches = soup.select('div.jobs_item-container-flex')
1031
+ else:
1032
+ allembauches = [" "]
1033
+ if soup.select('div.key-number_block.shadow.inset'):
1034
+ allsalaires = soup.select('div.key-number_block.shadow.inset')
1035
+ else:
1036
+ allsalaires = [" "]
1037
+ if soup.select('tbody.sectorTable__body'):
1038
+ allsalairesMedian = soup.select('tbody.sectorTable__body')
1039
+ else:
1040
+ allsalairesMedian = [" "]
1041
+ if soup.select('div.dynamism_canvas-wrapper > p.sr-only'):
1042
+ allDiff = soup.select('div.dynamism_canvas-wrapper > p.sr-only')
1043
+ else:
1044
+ allDiff = [" "]
1045
+ if soup.select('div.tabs-main-data_persp-col2'):
1046
+ allDiffOrigin = soup.select('div.tabs-main-data_persp-col2')
1047
+ else:
1048
+ allDiffOrigin = [" "]
1049
+ allTypeContrat = ""
1050
+ if soup.find_all("div", class_="hiring-contract_legende_item ng-star-inserted"):
1051
+ allContrat = soup.find_all("div", class_="hiring-contract_legende_item ng-star-inserted")
1052
+ for j in range(0,len(allContrat)):
1053
+ allTypeContrat = allTypeContrat + removeTags(allContrat[j]) + ", "
1054
+ if soup.find_all("div", class_="horizontal-graph_patterns"):
1055
+ allEntreprise = soup.find_all("div", class_="horizontal-graph_patterns")
1056
+ else:
1057
+ allEntreprise = [" "]
1058
+ all = all + "\n\nChiffres-clés Métier " + removeTags(alltitre[0]) + ":\nDemandeurs d'emploi et Offres d'emploi : " + removeTags(allembauches[0]) + ". Salaires proposés dans les offres : " + removeTags(allsalaires[0]) + ". Salaires médians constatés : " + removeTags(allsalairesMedian[0]) + ". Difficultés de recrutement pour les entreprises : " + removeTags(allDiff[0]) + ". Origine des difficultés : " + removeTags(allDiffOrigin[0]) + ". Répartition des embauches par type de contrat : " + allTypeContrat + ". Répartition des embauches par taille d'entreprise : " + removeTags(allEntreprise[0]) + "."
1059
+ else:
1060
+ response = requests.get(url + codes)
1061
+ soup = BeautifulSoup(response.text, "html.parser")
1062
+ if soup.select('h1#titreMetier'):
1063
  alltitre = soup.select('h1#titreMetier')
1064
+ else:
1065
+ alltitre = [" "]
1066
+ if soup.select('div.jobs_item-container-flex'):
1067
  allembauches = soup.select('div.jobs_item-container-flex')
1068
+ else:
1069
+ allembauches = [" "]
1070
+ if soup.select('div.key-number_block.shadow.inset'):
1071
  allsalaires = soup.select('div.key-number_block.shadow.inset')
1072
+ else:
1073
+ allsalaires = [" "]
1074
+ if soup.select('tbody.sectorTable__body'):
1075
  allsalairesMedian = soup.select('tbody.sectorTable__body')
1076
+ else:
1077
+ allsalairesMedian = [" "]
1078
+ if soup.select('div.dynamism_canvas-wrapper > p.sr-only'):
1079
  allDiff = soup.select('div.dynamism_canvas-wrapper > p.sr-only')
1080
+ else:
1081
+ allDiff = [" "]
1082
+ if soup.select('div.tabs-main-data_persp-col2'):
1083
  allDiffOrigin = soup.select('div.tabs-main-data_persp-col2')
1084
+ else:
1085
+ allDiffOrigin = [" "]
1086
+ allTypeContrat = ""
1087
+ if soup.find_all("div", class_="hiring-contract_legende_item ng-star-inserted"):
1088
  allContrat = soup.find_all("div", class_="hiring-contract_legende_item ng-star-inserted")
 
1089
  for j in range(0,len(allContrat)):
1090
  allTypeContrat = allTypeContrat + removeTags(allContrat[j]) + ", "
1091
+ if soup.find_all("div", class_="horizontal-graph_patterns"):
1092
  allEntreprise = soup.find_all("div", class_="horizontal-graph_patterns")
1093
+ else:
1094
+ allEntreprise = [" "]
 
 
 
 
 
 
 
 
 
 
 
 
 
1095
  all = "\n\nChiffres-clés Métier " + removeTags(alltitre[0]) + ":\nDemandeurs d'emploi et Offres d'emploi : " + removeTags(allembauches[0]) + ". Salaires proposés dans les offres : " + removeTags(allsalaires[0]) + ". Salaires médians constatés : " + removeTags(allsalairesMedian[0]) + ". Difficultés de recrutement pour les entreprises : " + removeTags(allDiff[0]) + ". Origine des difficultés : " + removeTags(allDiffOrigin[0]) + ". Répartition des embauches par type de contrat : " + allTypeContrat + ". Répartition des embauches par taille d'entreprise : " + removeTags(allEntreprise[0]) + "."
1096
  return all
1097