Ich habe eine Antwort auf eine Frage, die ich auf SO here gefragt, die scheint zu arbeiten, wenn ich den Code einmal ausführen.BeautifulSoup: Ausgabe beginnt sich nach einer bestimmten Anzahl von Iterationen in Schleife
Wenn ich jedoch versuche, es in einer Schleife zu implementieren, beginnen die Ergebnisse nach der dritten Iteration zu ändern. Dies ist nur ein Beispiel, das jedes Mal dieselbe URL aufruft.
from bs4 import BeautifulSoup
import requests
import re
for x in range(5):
url = 'https://www.adviserinfo.sec.gov/IAPD/content/viewform/adv/Sections/iapd_AdvPrivateFundReportingSection.aspx?ORG_PK=161227&FLNG_PK=05C43A1A0008018C026407B10062D49D056C8CC0'
html = requests.get(url, headers={'Cookie': 'PHPSESSID=notimportant'})
soup = BeautifulSoup(html.text, "lxml")
tags = list(soup.find_all('span', {'class':'PrintHistRed'}))
tags.extend(list(soup.find_all('img', alt=re.compile('Radio|Checkbox')))[2:]) # 2: skip "are you an adviser" at the top
tags.extend([t.parent for t in soup.find_all(text="No Information Filed")])
output = []
for entry in sorted(tags):
if entry.name == 'img':
alt = entry['alt']
if 'Radio' in alt:
output.append('NO' if 'not selected' in alt else 'YES')
else:
output.append('O' if 'not checked' in alt else 'X')
else:
output.append(entry.text)
print output[:9]
Ich habe versucht, in einem time.sleep() an verschiedenen Stellen im Code setzen, dachte, es mit dem, aber kein Glück zu tun hatte. Ich frage mich auch, ob etwas mit Cookies zu tun hat? Aber haben Sie keine Idee, wirklich ...
Jede Hilfe wird sehr geschätzt!
Was ist, wenn Sie die Importe innerhalb der Schleife setzen? –
Das ändert den Ausgangswert nach der zweiten Iteration merkwürdig. Nicht sicher, ob das irgendjemanden mit irgendwelchen Hinweisen versorgt ... –
Gut das ist komisch. –