I would appreciate your help on this scraping problem.
I would like to scrape this site: https://www.trustedshops.de/bewertung/info_XDAD39B874C275A0751198C2510C3C670.html
Although my code does not give me an error message, I do not see any output. I believe the problem is the bs.find_all statement; basically, I have problems telling the code how to index the user reviews.
# import
import pandas as pd
import requests
from bs4 import BeautifulSoup
# create a function to get all the user comments
def get_comments(lst_name):
# find all user comments and save them to a list
#comment = bs.find_all(class_=[("ng-tns-c84-5.main-box.no-margin.mb-3.ng-star-inserted")])
# iterate over the list to get the text and strip the strings
for c in comment:
lst_name.append(c.get_text(strip=True))
# return the list
return lst_name
What is the correct class for the Trusted Shops website that I need for the bs.find_all statement?
Thank you lots!!
CodePudding user response:
The reviews of the url aren't dynamic but you have to select the locator in proper way.It's working.
from bs4 import BeautifulSoup
import requests
url = 'https://www.trustedshops.de/bewertung/info_XDAD39B874C275A0751198C2510C3C670.html'
req = requests.get(url)
print(req)
soup = BeautifulSoup(req.content,'lxml')
for review in soup.find_all("review",class_="ng-tns-c116-5 main-box no-margin mb-3 ng-star-inserted"):
comment=review.select_one('.loading-line div').get_text()
print(comment)
Output:
Bestellvorgang war sehr einfach. Toll geordnete Homepage auf der alles schnell und einfach zu
finden ist. Auch die Bezahlung war einfach abzuwickeln. Alles sehr übersichtlich.
Betreut wird man von BTA hervorragend. Mails mit hilfreichen Tipps und Videos mit Hinweisen zum Handling des Geräts findet man nach der Bestellung ausreichend im Postfach. Und kostenlose Probe-Sticks gab´s auch noch dazu.
Einzig der Versand hat sich etwas verzögert. Aber nach einer freundlichen Erinnerung ging dann alles ganz schnell.
Habe den glo gerade ausgepackt. Er macht einen soliden und stabilen Eindruck. Werde ihn natürlich gleich ausprobieren und dann geht er in den regelmäßigen Gebrauch. Wenn ich die Möglichkeit erhalte berichte ich gerne nochmal wie er sich im Dauereinsatz nutzen lässt.
Na, und dann muss ich auch noch heraus finden welche Geschmacksrichtung bei den Sticks für mich die richtige ist.
Bis jetzt bin ich sehr zufrieden!
Leider habe ich mein Gerät noch nicht von glo direkt erhalten, dies finde ich etwas schade.
Sa wir derzeit mit einem Gerst zu zweit erhitzten. Dies ist etwas umständlich.
Ich habe sehr gehofft, dass mein Paket noch vor Ostern kommt. Da ich eine Woche davor bestellt hatte. Aber leider kommt es wohl erst morgen (Dienstag nach Ostern an).
Durch die Benutzung von 2 Personen bei einem Gerät, hält der Akku auch nicht so lange.
Aber morgen hat das Warten wohl eine Ende.
Ich habe es erst seit 2 Tagen und konnte mich noch nicht wirklich damit hin setzen und wirklich testen. Bis jetzt kann ich sagen das mir der Design ganz gut gefällt auch das man den Panel
wechseln und mit andere Farb Kombinationen zusammen stecken kann. Das Tabak ist nichts im Gegensatz zu einer normalen Zigaretten aber wenn mich das davon abhält eine Zigarette zu rauchen dann werde ich für den Übergang das Glo.
Mir gefiel das der Umstieg von der herkömmlichen Zigarette so einfach war, die Vielfalt an Geschmacksrichtungen, das Design, die Aktionen.
Der Filter sollte eher geschlossen als halb-offen sein dann schmecken die Neo-Sticks besser, sie haben sonst nach 3-4 Zügen einen eigenartigen unangenehmen Geschmack. Bei den Doppel-Click
Varianten ist es nicht so. Da passt es bis zum letzten Zug.
Alles gut ! Glo (und auch Iqos) sind beide sehr gut um nicht mehr Zigaretten zu konsumieren. Man merkt erst wenn man die Tabakerhitzer probiert nach ein paar Tagen wie gut es schmecken kann. Am Anfang ist es sehr gewöhnungsbedürftig, aber es lohnt sich. Wir nutzen schon seit ein paar Jahren Tabakerhitzer und haben keine einzige Zigarette mehr geraucht. Man fühlt sich einfach besser !
Auf dem Weg zur Reduzierung mit dem Ziel gänzlich mit dem Rauchen aufzuhören, bin ich auf diesen Heater umgestiegen und muss sagen: Chapeau! Für mich vorerst eine gute Alternative. Wenn hier noch weiter daran getüffelt wird eine gesunde Alternative zu erstellen und auf Nachhaltigkeit geachtet wird, würde ich sogar dabei bleiben wollen.
Ich habe mich über DHL geärgert ! Ich habe zwei mal eine Anlieferabsage bekommen und beim dritten mal haben sie das Päckchen wegen angeblichen nicht Erreichbarkeit in einem DHL Shop zur Selbstabholung hinterlegt. Und dabei war ich zu Hause. Aber sonst ist alles okay !
Es gefällt mir dass man selber und die Wohnung nicht mehr wie ein kalter Aschenbecher müffelt
den man hat im Regen stehen lassen. Ebenso fällt es sehr viel leichter keine normalen Zigaretten mehr zu rauchen. Ein guter Weg um mit dem Rauchen aufhören zu können.
Sehr guter Erhitzer. Die Neos schmecken und es gibt eine große Auswahl. Zudem rauche ich länger an einer als an normalen Zigaretten. Als starker Raucher hätte ich nicht gedacht das ich mich an sowas gewöhnen könnte. Aber es macht einfach Spaß und schmeckt
Die Neo Sticks sind sehr aromatisch. Ein Sternabzug: habe mich gewundert, dass bei der Bestellung meines 2. HEATERS ein weiteres Panel dabei war. Bei meinem 1. Heater ist das Panel garnicht auszutauschen. Warum ?
Der Glow ist wirklich toll. Das einzige was mir nicht so gefällt ist die begrenzte Dauer von 4 Minuten.
Wenn Die 4 Minuten abgelaufen sind und ich nehme den Stick heraus ist er nicht mal zur Hälfte
abgebrannt.
evtl die Session um 1-3 min erhöhen ?
manchmal kommt es einem in der bereits längsten Version doch sehr kurz vor, vor allem, wenn der Akku im Gerät bereits dem Ende zu geht.
Der Kunden Service ist perfekt. Meine Bestellung vom 21.4.22 des Tabak Heater habe ich noch nicht erhalten, kann über den Gebrauch noch keine Bewertung abgeben.
Unkomplizierte Bestellung! Gerät erscheint nicht Billig wie erwartet aber ich persönlich finde es etwas Stark. Ich werde weiter testen und eventuell bearbeiten
Die Produktvielfalt noch etwas erweitern mit neuen Geschmacksrichtungen. Noch längere Akkulaufzeiten. Preise stabil halten und nicht ständig verteuern.
Ich mag die Vielfalt an verschiedenen Geschmacksrichtungen und auch das die Rauch-Zeit festgelegt ist..... Von mir aus könnte es mehr Farben geben
für mich zu viele mit Geschmacks-click-sorten.. Einfach nur Tabak in ein paar mehr Variationen wäre mir lieber. Sonst find ich glo top.
Im großen und ganzen bin ich zufrieden, muß mich nur noch an die Geschmacksrichtungen gewöhnen und die richtige Sorte herausfinden.
Glo sollte länger die zigatette heizen kühlt schnell ab dann wird es schwach beim tziehen. Die zigarettenstiks könten stärker sein
Der Heater ist super. Die bisher ausprobierten NEOS gefallen mir gut.
Mit dem Service lief es ein wenig problematisch.
CodePudding user response:
The easiest way is to just use the api. You need to write the required number of reviews in payload (size). Here is a simple example
def get_comments(page_id):
url = f"https://shop-profiles-reviews-api.trustedshops.com/shopreviews/{page_id}"
payload = json.dumps({
"categories": [
"ALL"
],
"sort": {
"field": "relevance",
"order": "desc"
},
"page": {
"size": 20,
"pageIndex": 0
},
"includeReviewCount": True
})
headers = {
'accept': 'application/json',
'content-type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
json_obj = json.loads(response.text)
# total_comments = json_obj['metaData']['totalReviewCount']
for review in json_obj['reviews']:
print(review['buyerLastName'], review['buyerFirstName'])
print(review['buyerStatement'])
print('------')
print(json.loads(response.text)['metaData']['totalReviewCount'])
then just put the page id in the function:
get_comments('XDAD39B874C275A0751198C2510C3C670')