-2
votes

Web gratte avec belle URL et inchangeur

J'essaie de gratter strud> Ceci

    r = requests.get(url) 
    soup = BeautifulSoup(r.text , 'lxml')
    details = soup.find_all('span', {'class' : 'src'})
   details = soup.find_all('div', {'class' : 'product_contain'})
i=0
for d in details:
    print(i,d.get_text(strip=True).strip())
    i+=1


4 commentaires

Que veux-tu dire? Dans votre code, vous ne demandez que 1 URL


Les résultats de la recherche renvoient plus de 25 éléments. Avec ce programme, nous obtenons uniquement des informations présentes sur la première page.


Il existe des demandes postales sur classiqueNumismaticGallery.com/ ... et bien que vous puissiez enlever beaucoup d'en-têtes et de tous les cookies, le reste du poteau est joli lourd et laid (bien que cela puisse peut-être être coupé))


Fyi c'est gratter (et grattage , gratté , grattoir ) pas de ferraille. 'Bracher' signifie jeter comme des ordures :-(


3 Réponses :



2
votes

Vous devez utiliser le sélénium dans ce cas qui ouvrira la page dans un navigateur, puis vous pouvez gérer l'événement de clic du bouton Navigator et accéder à la DOM rafraîchie à chaque fois. Voici un code simple pour votre référence: xxx


1 commentaires

Notez que vous devrez télécharger le "GeckoRiver" pour exécuter Firefox via sélénium . Assurez-vous également de mettre à jour votre Firefox avant de télécharger le dernier webDiver pour Firefox. En outre, vous pouvez configurer le chemin d'accès à l'endroit où vous conservez le fichier "geckoRiver.exe", à spécifier tout en instantanant webdiver.firefox () . Une fois que vous avez triché ces choses, le reste est vraiment lisse. Bonne chance.



0
votes

J'ai pu réaliser sans sélénium . Bien que le code ne soit pas complet, mais nous pouvons gratter toutes les pages en boucle __ eventTarget xxx


1 commentaires

Fyi c'est grattage (et gratter , gratté , grattoir ) pas le décalage, "Scrapper" signifie jeter des choses comme déchets.