Python crawlt JD-Produktkategorien und Links

高洛峰
Freigeben: 2017-02-25 10:05:15
Original
1877 Leute haben es durchsucht

Vorwort

Der Hauptwissenspunkt dieses Artikels ist die Verwendung von Pythons BeautifulSoup zur Durchführung einer mehrschichtigen Durchquerung.

Python crawlt JD-Produktkategorien und Links

Wie im Bild gezeigt. Nur ein einfacher Hack, ohne die darin verborgenen Dinge zu durchforsten.

Beispielcode

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()
Nach dem Login kopieren

Führen Sie diesen Code aus und erreichen Sie unser Ziel.

Python crawlt JD-Produktkategorien und Links

Lassen Sie uns diesen Code interpretieren.

Zuerst müssen wir die Homepage von JD.com besuchen.

Dann verwenden Sie BeautifulSoup, um die besuchte Homepage zu analysieren.

Zu diesem Zeitpunkt müssen wir das Element finden, um das zu bekommen, was wir brauchen.

Durch F12 im Browser können wir etwas wie das Bild unten sehen:

Python crawlt JD-Produktkategorien und Links

Werfen wir einen Blick auf diesen Satzcode:

for i in renspned.find("p", {"class": "dd-inner"}).find_all("a",{"target":"_blank"})
Nach dem Login kopieren

Diese Codezeile entspricht vollständig unseren Anforderungen. Verwenden Sie zunächst die Methode find, um das p von „class=“dd-inner“ zu finden dann verwenden Sie find_all für alle a-Tags unter diesem Tag

Schließlich möchte ich alle Produktkategorien und entsprechenden Links ausdrucken, also habe ich i.get_text() und i.get('href') verwendet. Die Methode wurde schließlich erhalten die Produktklassifizierung und der entsprechende Link.

Zusammenfassung

Es ist nicht sehr schwierig. Die Hauptsache ist, dass der Autor die Methode nicht richtig angewendet hat, weil er Anfänger ist . Es hat fast zwei Tage gedauert, bis es fertig war. Hier erzähle ich Ihnen auch, dass Sie die Methode find().find_all() verwenden können, um eine mehrschichtige Durchquerung durchzuführen Links. Ich hoffe, es wird jedem helfen, Python zu lernen.


Für weitere Artikel zum Python-Crawling von JD.com folgen Sie bitte dem PHP Chinesische Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!