1 pièce(s) jointe(s)
Web Scraping - navigation a travers l'HTML
Bonjour le Forum,
J'espère que vous allez bien ?!
Je viens vers vous parce que je me casse la tête sur la navigation à travers le code HTML et BeautifulSoup.
Je cherche à récupérer des données sur un site internet (date de publication et date de cloture des candidatures), sauf que les deux sont dans le même sous dossier "footer" sous le même nom "dd" et avec la même classe "datetime".
Pièce jointe 556696
Je vous met mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| from datetime import date
import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
import os.path
from datetime import date
my_url='https://reliefweb.int/jobs?advanced-search=%28TY263.TY264%29_%28E261.E260%29_%28CC6864.CC20966.CC6867%29'
# Opening a connection, grabbing the page
uClient = uReq(my_url)
# offloading the content into a variable
page_html = uClient.read()
# Closing
uClient.close()
# html parsing
page_soup = soup(page_html,"html.parser")
# Grab each product
Jobs = page_soup.findAll("article",{"class":"job"})
for job in Jobs:
try:
country = job.header.p.a.text
except AttributeError:
country = "none"
description = job.header.h4.text
organisation = job.footer.dl.dd.ul.li.text
posted = job.footer.dl.time['datetime']
closing = job.footer.dl.time['datetime']
link = job.header.h4.a['href'] |
J'ai essayé la méthode Jobs[0].find_all("dd",{"date":"data-last"}) mais même si je me rapproche du résultat, je n'arrive pas à sélectionner la date exacte, et je ne suis pas sur que cette méthode soit viable si je change de page, puisque l'on fait référence à la liste de la page screenée (Je débute en Python).
J'ai essayé de suivre le chemin proposé par le Xpath d'internet mais cela ne donne rien non plus, je sèche dans ce cas la :calim2:
Auriez-vous une piste ou un tuto qui expliquerait clairement comment faire en cas de doublon du nom dans un même répertoire (il y a énormement d'exemple sur internet mais je n'en ai trouvé aucun avec doublon).
Merci d'avance pour votre aide,
Bien cordialement,
Thallhos