J'essaie de 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
3 Réponses :
La page URL que vous avez partagée, montre que les numéros de page sont accessibles via les balises de liens hypertexte suivantes:
code> li>
- Autres pages (chacune):
code> li>
ol> Vous pouvez accéder aux informations pertinentes comme suit. La deuxième ligne vous donnera une liste de toutes les pages. Extrayez l'attribut "href" code> d'eux. Lorsque vous cliquez sur le bouton, un déclenche JavaScript et utilise probablement une partie de l'URL pour ouvrir la nouvelle page. P> xxx pré> Il s'agit du texte de l'un des boutons. Vous devrez étudier la source de page en outre pour déterminer quelle URL est nécessaire. P>
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
Je garde cette réponse ici pour le moment. Je ferai la mise à jour avec une meilleure version ou la supprimerai.
Merci. Je vais essayer avec sélénium code>.
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:
Notez que vous devrez télécharger le "GeckoRiver" pour exécuter Firefox via sélénium code>. 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 () code>. Une fois que vous avez triché ces choses, le reste est vraiment lisse. Bonne chance.
J'ai pu réaliser sans sélénium code>. Bien que le code ne soit pas complet, mais nous pouvons
__ eventTarget code>
Fyi c'est grattage b> (et gratter b>, gratté b>, grattoir b>) pas le décalage, "Scrapper" signifie jeter des choses comme déchets.
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 b> (et grattage b>, gratté b>, grattoir b>) pas de ferraille. 'Bracher' signifie jeter comme des ordures :-(