Open Eliselalique opened 5 years ago
-> Xpath des scrapers à régler
En essayant de reproduire la spider en local, j'ai l'erreur suivante :
::: ERROR scrapy.core.scraper 190124 23:00:07 ::: scraper:158 -in- handle_spider_error() ::: Spider error processing <GET https://www.unccas.org/-banque-d-experiences-> (referer: None)
Traceback (most recent call last):
File "/home/david/projects/OpenScraper/venv/local/lib/python2.7/site-packages/scrapy/utils/defer.py", line 102, in iter_errback
yield next(it)
File "/home/david/projects/OpenScraper/venv/local/lib/python2.7/site-packages/scrapy/spidermiddlewares/offsite.py", line 30, in process_spider_output
for x in result:
File "/home/david/projects/OpenScraper/venv/local/lib/python2.7/site-packages/scrapy/spidermiddlewares/referer.py", line 339, in <genexpr>
return (_set_referer(r) for r in result or ())
File "/home/david/projects/OpenScraper/venv/local/lib/python2.7/site-packages/scrapy/spidermiddlewares/urllength.py", line 37, in <genexpr>
return (r for r in result or () if _filter(r))
File "/home/david/projects/OpenScraper/venv/local/lib/python2.7/site-packages/scrapy/spidermiddlewares/depth.py", line 58, in <genexpr>
return (r for r in result or () if _filter(r))
File "/home/david/projects/OpenScraper/openscraper/scraper/masterspider.py", line 714, in parse
self.driver = webdriver.Chrome(executable_path=chromedriver_path, chrome_options=options_selenium)
File "/home/david/projects/OpenScraper/venv/local/lib/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__
self.service.start()
File "/home/david/projects/OpenScraper/venv/local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
j'arrive pas à reproduire l'erreur de David en local... :/ chez moi ça roule
un souci que j'ai remarqué est que lorsqu'on met un xpath du type .//section[@class="spip-wysiwyg"]/div[@class="headline"]/p//text()
pour du html qui ressemble à ça :
... l'ordre de ce qui est scrappé ressemble toujours à ça (toujours le même ordre/désordre) :
Mon hypothèse est que le xpath tel qu'interprété par Selenium est traduit en listes consécutives ce qui est entre des balises <strong>
, et créé un ordre ... comment dire... étrange ? en fonction de ces balises "children"... pas de solution pour l'instant... (l'ordre de ce qui est scrappé avec ce xpath est 'normal' qd j'utilise le plugin xpath de firefox...)
Dans l'attente de mieux je peux laisser comme xpath pour le résumé celui qu'on avait jusque là : .//div/p[@class="mt10"]/text()
pour récupérer le texte de résumé depuis l'espace liste (pas depuis la page détaillée)
Projets scrapés sur le site Unccas : adresse non scrapée, possible de le faire? et le lien vers le site sourceur renvoie à la page du moteur de recherche, pas directement à la fiche projet
D'autre part, certaines descriptions ne sont pas scrappées alors qu'elles existent sur le site du sourceur. Exemple ce projet sur CIS /
Sur le site du sourceur :
-> Il faudrait scrapper la partie "DESCRIPTION"