Ich habe den folgenden Code mit dem Zweck, bestimmte Informationen von jeder Seite zu analysieren. Die http von jeder der mehreren Seiten ist strukturiert und daher verwende ich diese Struktur, um alle Links zur weiteren Analyse gleichzeitig zu sammeln.Analysieren bestimmter Werte auf mehreren Seiten
import urllib
import urlparse
import re
from bs4 import BeautifulSoup
Links = ["http://www.newyorksocialdiary.com/party-pictures?page=" + str(i) for i in range(2,27)]
Dieser Befehl gibt mir eine Liste von http-Links. Ich gehe weiter, um zu lesen und Suppen zu machen.
Rs = [urllib.urlopen(Link).read() for Link in Links]
soups = [BeautifulSoup(R) for R in Rs]
Da diese machen die Suppen, die ich will, ich das letzte Ziel nicht erreichen können - Struktur Parsen <a href= ""> </a>
. Zum Beispiel
<a href="/party-pictures/2007/something-for-everyone">Something for Everyone</a>
bin ich speziell daran interessiert, Dinge wie diese zu erhalten: '/party-pictures/2007/something-for-everyone'
. Der folgende Code kann jedoch nicht diesem Zweck dienen.
As = [soup.find_all('a', attr = {"href"}) for soup in soups]
Kann mir jemand sagen, wo schief gelaufen ist? Ich schätze Ihre Unterstützung sehr. Vielen Dank.
Danke. Das sieht so kraftvoll aus und ich bin fasziniert, mehr darüber zu erfahren. Als ich diesen Code ausführte, erhielt ich 'File" graph.py ", Zeile 16, in partys = [[a [" href "] für eine in supp.select ('a [href * = party-piecutre ')] für Suppe in Suppen] Datei "/opt/conda/lib/python2.7/site-packages/bs4/element.py", Zeile 1426, unter select ' Nicht unterstützter oder ungültiger CSS-Selektor: "% s" '% token) ValueError: Nicht unterstützter oder ungültiger CSS-Selektor: "a [href * = party-piecutre" ' –
achimneyswallow
@ Hsun-YiHsieh ah, sorry, verpasste das Schließen'] ', jetzt behoben. – alecxe
Vielen Dank. Das hilft sehr viel. :) – achimneyswallow