Maison > Article > développement back-end > Python explore les catégories de produits et les liens JD
Préface
Le principal point de connaissance de cet article est d'utiliser BeautifulSoup
de Python pour effectuer une traversée multicouche.
Comme le montre l'image. Juste un simple hack, sans explorer les éléments cachés à l'intérieur.
Exemple de code
from bs4 import BeautifulSoup as bs import requests headers = { "host": "www.jd.com", "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36 Core/1.47.933.400 QQBrowser/9.4.8699.400", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" } session = requests.session() def get_url(): renspned = bs(session.get('http://www.jd.com/',headers = headers).text,'html.parser') for i in renspned.find("p", {"class": "dd-inner"}).find_all("a",{"target":"_blank"}): print(i.get_text(),':',i.get('href')) get_url()
Exécutez ce code et atteignez notre objectif.
Interprétons ce code.
Nous devons d’abord visiter la page d’accueil de JD.com.
Utilisez ensuite BeautifulSoup
pour analyser la page d'accueil visitée.
À ce moment-là, nous devons localiser l'élément pour obtenir ce dont nous avons besoin.
En F12
dans le navigateur, nous pouvons voir quelque chose comme l'image ci-dessous :
Jetons un coup d'œil à ce code de phrase :
for i in renspned.find("p", {"class": "dd-inner"}).find_all("a",{"target":"_blank"})
Cette ligne de code répond pleinement à nos besoins. Tout d'abord, utilisez la méthode find
pour localiser le p de "class=“dd-inner
", et puis utilisez find_all
pour toutes les balises a sous cette balise
Enfin, je souhaite imprimer toutes les catégories de produits et les liens correspondants, j'ai donc utilisé i.get_text()
et i.get('href')
La méthode finalement obtenue. le classement des produits et le lien correspondant.
Résumé
Ce n'est pas très difficile. L'essentiel est que l'auteur n'a pas utilisé correctement la méthode car il est débutant. . Il a fallu presque deux jours pour le faire. Ici, je vous dis également que vous pouvez utiliser la méthode find().find_all()
pour effectuer une traversée multicouche. Ce qui précède est une partie de mon expérience dans l'utilisation de Python pour explorer les catégories de produits de JD.com. liens. J'espère que cela vous aidera à apprendre Python. Cela peut être utile
Pour plus d'articles liés à l'exploration de Python, aux catégories de produits et aux liens de JD.com, veuillez suivre le PHP. Site chinois !