Seite 1 von 1

.strip() Alternativen?

Verfasst: Dienstag 19. Juni 2018, 06:24
von maag_vi
Hallo zusammen,
Ich bin gerade dabei einen Webcrawler mit Scrapy zu programmieren und um diese Daten dann in eine Excel Datei zu exportieren.
Dabei habe ich jetzt folgendes Problem, mit dem ich jetzt schon einige Zeit herumkämpfe:

Code: Alles auswählen

In [43]: test = response.css('#js-section-1290::text').extract()[0].strip()
In [44]: print(test)


In [45]: test = response.css('#js-section-1290::text').extract()
In [46]: print(test)
['\r\n\r\n                        ', '\r\n\r\n                        \r\n\r\n                            \r\n\r\n                            \r\n                                \r\n                            This idea will slow everyone down and encourage them to take a minute to recognize the contributions of those they work with. A few simple words of recognition and gratitude energizes people, and the more we do it, the better we will get at it.\r\n                         \r\n\r\n                            \r\n\r\n                        \r\n\r\n                    ']
Ich würde dabei gerne nur den Text extrahieren, jedoch ist dies hier mit .strip() nicht möglich, da dabei auch der Text weggekürzt wird.
Da ich noch ein ziemlicher Anfänger bin, wollte ich fragen ob jemand vielleicht eine Alternative kennt um an den Text zu kommen?

Liebe Grüsse
Stefan

Re: .strip() Alternativen?

Verfasst: Dienstag 19. Juni 2018, 06:47
von __deets__
Das wäre mir neu. Strip entfernt nur white space. Der Text bleibt. Dir ist aber schon klar, dass du eine Liste von Texten extrahiert hast? Deren Elemente musst du natürlich einzeln behandeln.

Re: .strip() Alternativen?

Verfasst: Dienstag 19. Juni 2018, 07:02
von Sirius3
Ja, Dein erstes Element besteht auch nur aus Leerraum.

Re: .strip() Alternativen?

Verfasst: Dienstag 19. Juni 2018, 07:21
von snafu
Du arbeitest auf dem falschen Element. Ersetze in der ersten Zeile mal das [0] durch ein [1] und wende darauf strip() an. Dann solltest du den Fehler schnell erkannt haben...

Re: .strip() Alternativen?

Verfasst: Dienstag 19. Juni 2018, 08:11
von maag_vi
snafu hat geschrieben: Dienstag 19. Juni 2018, 07:21 Du arbeitest auf dem falschen Element. Ersetze in der ersten Zeile mal das [0] durch ein [1] und wende darauf strip() an. Dann solltest du den Fehler schnell erkannt haben...
Ah, super danke dir bzw. danke allen! :)
Fehler gefunden.

Re: .strip() Alternativen?

Verfasst: Dienstag 19. Juni 2018, 08:28
von maag_vi
Wäre es möglich, diese leeren Elemente nicht anzuzeigen sondern nur die, welche mit Text gefüllt sind?
Ohne dass ich für jedes Element eine eigene Abfrage machen muss?

Bzw. wie wäre dies anzugehen? Könntet ihr mir da evtl. einen Tipp geben?

Re: .strip() Alternativen?

Verfasst: Dienstag 19. Juni 2018, 08:40
von __deets__
Über die Elemente iterieren, Strippen, und wenn sie dann nicht leer sind anzeigen oder aufsammeln und später alle anzeigen.