Maison  >  Article  >  développement back-end  >  Python explore les catégories de produits et les liens JD

Python explore les catégories de produits et les liens JD

高洛峰
高洛峰original
2017-02-25 10:05:151920parcourir

Préface

Le principal point de connaissance de cet article est d'utiliser BeautifulSoup de Python pour effectuer une traversée multicouche.

Python explore les catégories de produits et les liens JD

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.

Python explore les catégories de produits et les liens JD

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 :

Python explore les catégories de produits et les liens JD

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 !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn