Ich brauche Daten aus einer Tabelle auf dieser Website https://www.cashbackforex.com/en-US/tools/economic-impacts.aspx mit Python zu bekommen. Der Code, den ich bisher geschrieben habe, istScraping einer Webseite in Python mit mehreren Eingängen
from bs4 import BeautifulSoup
import requests
url = 'https://www.cashbackforex.com/en-US/tools/economic-impacts.aspx'
with requests.Session() as session:
session.headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36'}
# parsing parameters
response = session.get(url)
soup = BeautifulSoup(response.content, "lxml")
print(soup.select('input[type="button"]'))
data = {
'dnn$ctr1601$Chart$ddlCurrencies': 'USD',
'dnn$ctr1601$Chart$ddlReports': 'US Change in NonFarm Payrolls',
'dnn$ctr1601$Chart$ddlTimeZone': '(UTC) Coordinated Universal Time',
'__EVENTTARGET': soup.find('input', {'name': '__EVENTTARGET'}).get('value', ''),
'__EVENTARGUMENT': soup.find('input', {'name': '__EVENTARGUMENT'}).get('value', ''),
'__VIEWSTATE': soup.find('input', {'name': '__VIEWSTATE'}).get('value', ''),
'__VIEWSTATEGENERATOR': soup.find('input', {'name': '__VIEWSTATEGENERATOR'}).get('value', ''),
'btnApplyTools': soup.find('input', {'id': 'btnApplyTools'}).get('value', '')
}
# parsing data
response = session.post(url, data=data)
soup = BeautifulSoup(response.content, "lxml")
print(soup)
aber jedes Mal, wenn ich das Programm ausführen kann ich nicht die Werte in der Tabelle finden. Ich denke, das Programm sendet die Eingabewerte nicht an den Server, aber ich bin mir nicht sicher.
Die folgende Tabelle:
Was Anfrage Sie sind versuchen nachzuahmen? Wenn ich auf den roten Button "Übernehmen" klicke, sehe ich in den Browser-Entwickler-Tools keinen POST zu "economic-impacts.aspx". – alecxe
Wenn ich eine Variable, zB USD, ändere, ändere ich die Nonfarm Payroll und triff den Antrag Unterseite. Die Tabelle namens "Event History" darunter ändert sich. Ich muss diese Tabelle extrahieren. Aber wenn ich diese Tabelle mit BeautifulSoup lese, sind keine dieser Zeilen vorhanden. –