2017-08-13 5 views
0

J'essaye de gratter une page qui est modifiée par javascript après le chargement initial en utilisant Scrapy sur Raspberri Pi.sites Scrapy et Javascript sur Rasbperry Pi

J'ai essayé d'installer docker et scrapinghub/splash pour rendre la page avant de la transformer en scrapy, mais Splash réalisé ne supporte pas encore ARM. Y at-il d'autres options pour gratter les pages en utilisant javascript avec Scrapy sur un Raspberry Pi?

Actuellement, en utilisant la demande normale de scrapy sur le site, je reçois uniquement ce code HTML, car le site se charge d'abord, puis le javascript rend tout le contenu. Donc, avant le javascript la source de la page semble vide:

<body class="notie8 notie9 lang-{{html.lang}}"> 
<!--<![endif]--> 
    <div loading-line></div> 

    <div page-layout> 
     <div ng-view></div> 
    </div> 
</body> 
</html> 

Pour référence, le site que je me réfère est: https://www.sreality.cz/hledani/prodej/byty?region=brno

+0

Vous pouvez essayer d'utiliser l'approche abordée ici https://github.com/voliveirajr/seleniumcrawler/blob/master/seleniumcrawler/spiders/seleniumcrawler_spider.py. Utilisez le navigateur PhantomJS sur votre rasbperry pi. –

Répondre

1

SReality utilise l'API, est-ce pas une façon d'aller? Pour votre URL, appelez l'API: https://www.sreality.cz/api/cs/v2/estates?category_main_cb=1&category_type_cb=1&per_page=20&region=brno&tms=1502631428897 (recherchez les demandes XHR dans les outils de développement de votre navigateur).

+0

Je ne le savais pas, merci beaucoup pour cette aide! Question rapide, comment avez-vous su qu'ils avaient l'API? J'ai toujours du mal avec les sites Web pour savoir si elles offrent ou non API – Svarto

+0

Aller à l'onglet réseau des outils de développement du navigateur et la recherche de demandes XHR est généralement la première chose que je fais quand je veux gratter un site Web. Surtout quand je pense que JavaScript est impliqué. –