Für die letzten paar Tage versuche ich die folgende Website (Link unten eingefügt), die ein paar Excel und PDFs in einer Tabelle zur Verfügung hat. Ich kann es für die Homepage erfolgreich machen. Es gibt insgesamt 59 Seiten, von denen diese Excel/PDFs verschrottet werden müssen. In den meisten Webseiten, die ich bis jetzt gesehen habe, gibt es einen Abfrageparameter, der in der Site-URL verfügbar ist, der sich ändert, wenn Sie von einer Seite zu einer anderen wechseln. In diesem Fall haben wir eine _doPostBack-Funktion, wahrscheinlich weil die URL auf jeder Seite, auf die Sie zugreifen, gleich bleibt. Ich sah mehrere Lösungen und Beiträge, die vorschlagen, die Parameter von post
aufrufen und verwenden sie, aber ich bin nicht in der Lage, einen Sinn der Parameter, die in post
Aufruf (das ist das erste Mal, dass ich eine Website Verschrottung) sind.Scraping Excel von der Website mit Python mit _doPostBack Link URL versteckt
Kann jemand bitte eine Ressource vorschlagen, die mir helfen kann, einen Code zu schreiben, der mir hilft, mit Python von einer Seite zur anderen zu gelangen. Die Details sind wie folgt:
Link zur Website - http://accord.fairfactories.org/ffcweb/Web/ManageSuppliers/InspectionReportsEnglish.aspx
Mein aktueller Code, der die CAP Excel-Tabelle auf der Homepage extrahiert (das perfekt funktioniert und ist nur als Referenz zur Verfügung gestellt)
from urllib.request import urlopen
from urllib.request import urlretrieve
from bs4 import BeautifulSoup
import re
import urllib
Base = "http://accord.fairfactories.org/ffcweb/Web"
html = urlopen("http://accord.fairfactories.org/ffcweb/Web/ManageSuppliers/InspectionReportsEnglish.aspx")
bs = BeautifulSoup(html)
name = bs.findAll("td", {"class":"column_style_right column_style_left"})
i = 1
for link in bs.findAll("a", {"id":re.compile("CAP(?!\w)")}):
if 'href' in link.attrs:
name = str(i)+".xlsx"
a = link.attrs['href']
b = a.strip("..")
c = Base+b
urlretrieve(c, name)
i = i+1
Bitte lassen Sie mich wissen, wenn ich etwas während der Bereitstellung der Informationen verpasst habe und bitte bewerten Sie mich nicht - sonst kann ich keine weiteren Fragen stellen
Vielen Dank Padraic. Du bist ein Star :) –
@ujjwaldalmia, keine Sorgen, du bist willkommen. –
Lieber Padraic Ich bekomme den folgenden Fehler, wenn ich versuche, den Code auszuführen. Kannst du bitte nochmal helfen: –