ich wollte gerne diese Seite hier auslesen: https://restocks.net/de/account/listing ... =1&search=
Nun bekomme ich als output diesen Text von der Seite geliefert. Wenn ihr auf den link klickt sollte nur das login Fenster erscheinen, da man einen account braucht mit seinen hochgeladenen Produkten um diese individuell Information zu sehen.
Code: Alles auswählen
{"products":"<table class=\"listings\" width=\"100%\">\n <thead>\n <tr>\n <th width=\"100\"><\/th>\n <th>Artikel<\/th>\n <th>Preis<\/th>\n <th width=\"100\">Status<\/th>\n <th width=\"60\"><\/th>\n <\/tr>\n <\/thead>\n <tbody>\n \n <tr class=\"clickable\" data-price=\"150\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/BQ6472-202\/air-jordan-1-mid-canyon-rust-w-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"889678\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"11538\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"24\"\/>\n <input class=\"price\" type=\"hidden\" value=\"150\"\/>\n\n <span>Air Jordan 1 Mid 'Canyon Rust' (W)<\/span>\n <br\/>\n EU: 44 \u00bd\n <br\/>\n ID: 889678\n <\/td>\n <td>\n <span class=\"storeprice green\">\n <span class=\"storeprice__value\">150 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 08\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"216\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/CZ9084-001\/nike-air-force-1-low-stussy-black-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"889679\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"11404\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"24\"\/>\n <input class=\"price\" type=\"hidden\" value=\"216\"\/>\n\n <span>Nike Air Force 1 Low Stussy Black<\/span>\n <br\/>\n EU: 44 \u00bd\n <br\/>\n ID: 889679\n <\/td>\n <td>\n <span class=\"storeprice green\">\n <span class=\"storeprice__value\">216 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 08\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"330\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/DJ0675-200\/air-jordan-4-retro-shimmer-w-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"889680\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"12733\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"48\"\/>\n <input class=\"price\" type=\"hidden\" value=\"330\"\/>\n\n <span>Air Jordan 4 Shimmer (W)<\/span>\n <br\/>\n EU: 38 \u00bd\n <br\/>\n ID: 889680\n <\/td>\n <td>\n <span class=\"storeprice red\">\n <span class=\"storeprice__value\">330 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 08\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"220\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/CU1727-800\/nike-dunk-low-sp-university-orange-marine-2020-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"889681\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"10765\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"23\"\/>\n <input class=\"price\" type=\"hidden\" value=\"220\"\/>\n\n <span>Nike Dunk Low SP Champ Colors University Orange Marine (2020)<\/span>\n <br\/>\n EU: 42 \u00bd\n <br\/>\n ID: 889681\n <\/td>\n <td>\n <span class=\"storeprice red\">\n <span class=\"storeprice__value\">220 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 08\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"200\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/CZ9084-001\/nike-air-force-1-low-stussy-black-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"889682\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"11404\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"48\"\/>\n <input class=\"price\" type=\"hidden\" value=\"200\"\/>\n\n <span>Nike Air Force 1 Low Stussy Black<\/span>\n <br\/>\n EU: 38 \u00bd\n <br\/>\n ID: 889682\n <\/td>\n <td>\n <span class=\"storeprice red\">\n <span class=\"storeprice__value\">200 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 08\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"388\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/NDLOWL22\/nike-dunk-low-off-white-lot-22-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"889683\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"12680\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"24\"\/>\n <input class=\"price\" type=\"hidden\" value=\"388\"\/>\n\n <span>Nike Dunk Low Off-White Lot 22<\/span>\n <br\/>\n EU: 44 \u00bd\n <br\/>\n ID: 889683\n <\/td>\n <td>\n <span class=\"storeprice green\">\n <span class=\"storeprice__value\">388 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 08\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"180\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/553558-144\/air-jordan-1-low-unc-2021-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"889684\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"12569\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"9\"\/>\n <input class=\"price\" type=\"hidden\" value=\"180\"\/>\n\n <span>Air Jordan 1 Low UNC (2021)<\/span>\n <br\/>\n EU: 44\n <br\/>\n ID: 889684\n <\/td>\n <td>\n <span class=\"storeprice red\">\n <span class=\"storeprice__value\">180 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 08\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"330\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/FX9017\/adidas-yeezy-boost-350-v2-tail-light-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"889685\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"10310\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"11\"\/>\n <input class=\"price\" type=\"hidden\" value=\"330\"\/>\n\n <span>Yeezy Boost 350 V2 Tail Light<\/span>\n <br\/>\n EU: 46\n <br\/>\n ID: 889685\n <\/td>\n <td>\n <span class=\"storeprice red\">\n <span class=\"storeprice__value\">330 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 08\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"171\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/CZ0775-801\/air-jordan-1-low-og-shattered-backboard-w-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"876868\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"12748\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"1\"\/>\n <input class=\"price\" type=\"hidden\" value=\"171\"\/>\n\n <span>Air Jordan 1 Low OG Starfish (W)<\/span>\n <br\/>\n EU: 36\n <br\/>\n ID: 876868\n <\/td>\n <td>\n <span class=\"storeprice green\">\n <span class=\"storeprice__value\">171 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 03\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"125\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/554725-170\/air-jordan-1-mid-white-university-gold-gs-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"876840\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"11601\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"48\"\/>\n <input class=\"price\" type=\"hidden\" value=\"125\"\/>\n\n <span>Air Jordan 1 Mid University Gold (GS)<\/span>\n <br\/>\n EU: 38 \u00bd\n <br\/>\n ID: 876840\n <\/td>\n <td>\n <span class=\"storeprice red\">\n <span class=\"storeprice__value\">125 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 03\/10\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"221\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/CD0461-001\/air-jordan-1-retro-high-silver-toe-w-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"840962\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"11515\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"7\"\/>\n <input class=\"price\" type=\"hidden\" value=\"221\"\/>\n\n <span>Air Jordan 1 Retro High 'Silver Toe' (W)<\/span>\n <br\/>\n EU: 42\n <br\/>\n ID: 840962\n <\/td>\n <td>\n <span class=\"storeprice green\">\n <span class=\"storeprice__value\">221 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 22\/09\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n <tr class=\"clickable\" data-price=\"187\">\n <td>\n <img width=\"80\" src=\"https:\/\/images.restocks.net\/products\/DB2179-101\/nike-dunk-high-vast-grey-gs-1-80.png\"\/>\n <\/td>\n <td>\n <input class=\"productid\" type=\"hidden\" value=\"830948\"\/>\n <input class=\"baseproductid\" type=\"hidden\" value=\"11607\"\/>\n <input class=\"sizeid\" type=\"hidden\" value=\"13\"\/>\n <input class=\"price\" type=\"hidden\" value=\"187\"\/>\n\n <span>Nike Dunk High Vast Grey (GS)<\/span>\n <br\/>\n EU: 36 \u00bd\n <br\/>\n ID: 830948\n <\/td>\n <td>\n <span class=\"storeprice green\">\n <span class=\"storeprice__value\">187 \u20ac<\/span>\n <\/span>\n <\/td>\n <td>\n Expire:\n 17\/09\/21\n <\/td>\n <td>\n <i class=\"fas fa-pencil-alt listing__edit__icon\"><\/i><\/span>\n <\/td>\n <\/tr>\n \n <\/tbody>\n <\/table>\n \n","pagination":"<div class=\"margin-top-1-5em\">\n \n <div class=\"pagination__navigation\">\n 1 - 12 von 12\n <\/div>\n<\/div>"}
Die Daten stehen auch normalerweise unter folgendem Link bereit: https://restocks.net/de/account/listings
Hier ist die Seite dann in 2 Tabs aufgebaut, einmal der Reiter "Consign" und einmal der Reiter "Resale". Wenn ich auf Resale klicke und in Chrome mit der Konsole das ganze durchsuche finde ich auch diese Daten unter folgendem html:
Code: Alles auswählen
<div class="container">
<div id="tabbed__page">
<div class="tile" id="animated__tabs__menu">
<ul class="nav nav-tabs nav-justified" role="tablist">
<div class="slider" style="left: 459.5px; width: 459.5px;"></div>
<li class="nav-item">
<a class="nav-link" id="consignment-tab" data-toggle="tab" href="#consignment" role="tab" aria-controls="consignment" aria-selected="false" data-tab="consignment">
Consign
</a>
</li>
<li class="nav-item">
<a class="nav-link active" id="resale-tab" data-toggle="tab" href="#resale" role="tab" aria-controls="resale" aria-selected="true" data-tab="resale">
Resale
</a>
</li>
</ul>
</div>
<div class="search__field c-field has-icon-right">
<label class="sticky">
<input id="search" class="c-input" name="search" placeholder="Suchen..." type="text" value="" required="">
</label>
<svg class="svg-inline--fa fa-search fa-w-16 search__icon" aria-hidden="true" focusable="false" data-prefix="fa" data-icon="search" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"></path></svg><!-- <i class="fa fa-search search__icon"></i> -->
</div>
<div class="listings__table"><table class="listings" width="100%">
<thead>
<tr>
<th width="100"></th>
<th>Artikel</th>
<th>Preis</th>
<th width="100">Status</th>
<th width="60"></th>
</tr>
</thead>
<tbody>
<tr class="clickable" data-price="150">
<td>
<img width="80" src="https://images.restocks.net/products/BQ6472-202/air-jordan-1-mid-canyon-rust-w-1-80.png">
</td>
<td>
<input class="productid" type="hidden" value="889678">
<input class="baseproductid" type="hidden" value="11538">
<input class="sizeid" type="hidden" value="24">
<input class="price" type="hidden" value="150">
<span>Air Jordan 1 Mid 'Canyon Rust' (W)</span>
<br>
EU: 44 ½
<br>
ID: 889678
</td>
<td>
<span class="storeprice green">
<span class="storeprice__value">150 €</span>
</span>
</td>
<td>
Expire:
08/10/21
</td>
<td>
<svg class="svg-inline--fa fa-pencil-alt fa-w-16 listing__edit__icon" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="pencil-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path fill="currentColor" d="M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"></path></svg><!-- <i class="fas fa-pencil-alt listing__edit__icon"></i> -->
</td>
</tr>
<tr class="clickable" data-price="216">
<td>
<img width="80" src="https://images.restocks.net/products/CZ9084-001/nike-air-force-1-low-stussy-black-1-80.png">
</td>
<td>
<input class="productid" type="hidden" value="889679">
<input class="baseproductid" type="hidden" value="11404">
<input class="sizeid" type="hidden" value="24">
<input class="price" type="hidden" value="216">
<span>Nike Air Force 1 Low Stussy Black</span>
<br>
EU: 44 ½
<br>
ID: 889679
</td>
<td>
<span class="storeprice green">
<span class="storeprice__value">216 €</span>
</span>
</td>
<td>
Expire:
08/10/21
</td>
<td>
.
.
... und noch mehr code
Allerdings, wenn ich die Seite nach erfolgreichem Login durchsuche mit folgendem Code:
Code: Alles auswählen
email = []
password = []
webhook = []
with open("login_data.csv", "r") as csv_logindata:
csv_logindata_reader = csv.reader(csv_logindata)
next(csv_logindata_reader)
for line in csv_logindata_reader:
email.append(line[0])
password.append(line[1])
proxies = {"https": None, "http": None}
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"}
email = ''.join(email)
with scraper as s:
#Login session starten
url = "https://restocks.net/de/login"
r = s.get(url, headers=headers, proxies=proxies, timeout=10)
soup = BeautifulSoup(r.content, "html5lib")
token = soup.find("input", attrs={"name": "_token"})["value"]
#print(token)
login_data = {
"_token": token,
"email": email,
"password": password}
r = s.post("https://restocks.net/de/login", data=login_data, headers=headers, proxies=proxies, timeout=10)
soup = BeautifulSoup(r.content, "html5lib")
if str(email) in str(soup):
print(colored("Succesfully logged in", "green"))
else:
print(colored("Unvalid login data", "red"))
r = s.get("https://restocks.net/de/account/listings", headers=headers, proxies=proxies, timeout=10)
soup = BeautifulSoup(r.content, "html.parser")
test = soup.get_text
print(test)
Hat jemand eine Idee wie ich am einfachste an die productid values herankomme?