Σελίδα 1 από 2
πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 20 Απρ 2023, 10:31
από dna replication
επειδη υπάρχει μια σχετική συζήτηση για κλείσιμο του phorum.com.gr και η διαχείριση
Spiros252 είναι εξαφανισμένη
για να μη βρεθούμε προ απροόπτου όπως στο παρελθόν
ήθελα να ρωτήσω τρόπους για να αποθηκεύσω νήματα.
Π.χ θέλω να αποθηκεύσω το εργαστήριο του chiloutbuddy όπως είναι με δημοσιεύσεις και φωτογραφίες, ως ιστοσελίδα, με ποιόν τρόπο γίνεται αυτό?
θα έχει π.χ. το σύστημα αναζήτησης?
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 20 Απρ 2023, 10:45
από dna replication
εδώ είχε γίνει μια απόπειρα για αποθήκευση δημοσιεύσεων ανά χρήστη, μάλλον ανολοκλήρωτη
viewtopic.php?f=63&t=46663#p2952310
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 20 Απρ 2023, 12:44
από klg
Δεν χρειάζεται κάποιο custom script, υπάρχουν πολλοί scrapers που μπορούν να κατεβάσουν όλο το site.
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 20 Απρ 2023, 13:16
από Stalker
klg έγραψε: ↑20 Απρ 2023, 12:44
Δεν χρειάζεται κάποιο custom script, υπάρχουν πολλοί scrapers που μπορούν να κατεβάσουν όλο το site.
Που αν τηρεί τα στοιχειώδη ο πάροχος θα πρέπει να μπλοκάρει, αλλιώς ο κάθε πχορουμοπικραμένος θα μπορούσε να το ταράξει στα denial of service.
Ακόμα ένα δείγμα του παθολογικού legacy της διοίκησης του προηγούμενου πχορουμ, ότι είναι υπολογίσιμος κίνδυνος να θέλει κόσμος να κάνει τακτικά scrape όλο το σάιτ.
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 20 Απρ 2023, 13:36
από GoBzi
Κώδικας: Επιλογή όλων
#!/bin/bash
start=0
while [ $start -le 2505 ]
do
url="https://www.phorum.com.gr/viewtopic.php?f=43&t=1193&hilit=chiloutbuddy&start=$start"
curl "$url" -o "page_$start.html"
sleep 1
sed -i 's/\.\//https:\/\/www.phorum.com.gr\//g' "page_$start.html"
start=$((start+15))
done
Αυτή την στιγμή το script κατεβάζει
το νήμα που ανέφερες αλλά παίρνει τα css αρχεία απο το phorum, εαν θελεις να τα έχεις και τα css τοπικα. Εαν το κάνεις αυτό το sed χρειάζεται.
Κώδικας: Επιλογή όλων
#!/bin/bash
mkdir -p assets/css styles/propho/theme/el ext/alfredoramos/simplespoiler/styles/all/theme/css/ ext/cabot/profilgauche/styles/all/theme/ ext/david63/disclaimer/styles/all/theme/ ext/david63/privacypolicy/styles/all/theme/ ext/ger/modbreak/styles/all/theme/ ext/phpbb/pages/styles/prosilver/theme ext/stevotvr/flair/styles/prosilver/theme ext/vse/lightbox/styles/all/template/lightbox/css/
css=(
"https://www.phorum.com.gr/assets/css/font-awesome.min.css"
"https://www.phorum.com.gr/styles/propho/theme/stylesheet.css"
"https://www.phorum.com.gr/styles/propho/theme/el/stylesheet.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/all/theme/css/common.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/prosilver/theme/css/style.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/prosilver/theme/css/colors.css"
"https://www.phorum.com.gr/ext/cabot/profilgauche/styles/all/theme/profilgauche.css"
"https://www.phorum.com.gr/ext/david63/disclaimer/styles/all/theme/disclaimer.css"
"https://www.phorum.com.gr/ext/david63/privacypolicy/styles/all/theme/cookie.css"
"https://www.phorum.com.gr/ext/ger/modbreak/styles/all/theme/modbreak.css"
"https://www.phorum.com.gr/ext/phpbb/pages/styles/prosilver/theme/pages_common.css"
"https://www.phorum.com.gr/ext/stevotvr/flair/styles/prosilver/theme/flair.css"
"https://www.phorum.com.gr/ext/vse/lightbox/styles/all/template/lightbox/css/lightbox.min.css"
)
for url in "${css[@]}"
do
filename=$(basename "$url")
directory=$(dirname "$url" | sed 's#https://www.phorum.com.gr/##')
mkdir -p "$directory"
curl "$url" -O -J
mv "$filename" "$directory"
done
Επίσης χρειάζεται άλλο ενα sed για να αλλάξει τα link απο την κάθε σελίδα, αλλιώς θα πρέπει να τις ανοίγεις μια μια. Εχει σκαλώσει ο εγκέφαλος τωρα, θα το δω πιο μετά.
Το output είναι κάπως έτσι:

Δεν κατέβασα όλο το νήμα, εσυ θα έχεις ενα html αρχείο για κάθε σελίδα του νήματος (μέχρι την 168 βασικά).
Πως φαίνεται:

Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 20 Απρ 2023, 13:39
από Υδράργυρος
Μπά; Εξαφανισμένος ο Spiros252?
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 20 Απρ 2023, 13:45
από klg
Stalker έγραψε: ↑20 Απρ 2023, 13:16
klg έγραψε: ↑20 Απρ 2023, 12:44
Δεν χρειάζεται κάποιο custom script, υπάρχουν πολλοί scrapers που μπορούν να κατεβάσουν όλο το site.
Που αν τηρεί τα στοιχειώδη ο πάροχος θα πρέπει να μπλοκάρει, αλλιώς ο κάθε πχορουμοπικραμένος θα μπορούσε να το ταράξει στα denial of service.
Ακόμα ένα δείγμα του παθολογικού legacy της διοίκησης του προηγούμενου πχορουμ, ότι είναι υπολογίσιμος κίνδυνος να θέλει κόσμος να κάνει τακτικά scrape όλο το σάιτ.
Μπορείς να κάνεις scrape το site χωρίς να κάνεις να το μπρικιάσεις, just saying. Από την άλλη θα μου πεις άμα το κάνουν αυτό 100 άτομα ταυτόχρονα δεν θα πάει καλά.
Γενικά δεν ξέρω γιατί δεν μπορούμε να σηκωσουμε ένα readonly mirror του site να υπάρχει.
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 20 Απρ 2023, 16:44
από GoBzi
@
dna replication oλο το script σε bash. Κατεβάζει
μόνο το συγκεριμένο νήμα που ζήτησες αλλά μπορείς να το προσαρμώσεις για οτι νήμα θέλεις.
Κώδικας: Επιλογή όλων
#!/bin/bash
mkdir -p assets/css styles/propho/theme/el ext/alfredoramos/simplespoiler/styles/all/theme/css/ ext/cabot/profilgauche/styles/all/theme/ ext/david63/disclaimer/styles/all/theme/ ext/david63/privacypolicy/styles/all/theme/ ext/ger/modbreak/styles/all/theme/ ext/phpbb/pages/styles/prosilver/theme ext/stevotvr/flair/styles/prosilver/theme ext/vse/lightbox/styles/all/template/lightbox/css/
css=(
"https://www.phorum.com.gr/assets/css/font-awesome.min.css"
"https://www.phorum.com.gr/styles/propho/theme/stylesheet.css"
"https://www.phorum.com.gr/styles/propho/theme/el/stylesheet.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/all/theme/css/common.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/prosilver/theme/css/style.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/prosilver/theme/css/colors.css"
"https://www.phorum.com.gr/ext/cabot/profilgauche/styles/all/theme/profilgauche.css"
"https://www.phorum.com.gr/ext/david63/disclaimer/styles/all/theme/disclaimer.css"
"https://www.phorum.com.gr/ext/david63/privacypolicy/styles/all/theme/cookie.css"
"https://www.phorum.com.gr/ext/ger/modbreak/styles/all/theme/modbreak.css"
"https://www.phorum.com.gr/ext/phpbb/pages/styles/prosilver/theme/pages_common.css"
"https://www.phorum.com.gr/ext/stevotvr/flair/styles/prosilver/theme/flair.css"
"https://www.phorum.com.gr/ext/vse/lightbox/styles/all/template/lightbox/css/lightbox.min.css"
)
includes=(
"https://www.phorum.com.gr/styles/propho/theme/normalize.css"
"https://www.phorum.com.gr/styles/propho/theme/base.css"
"https://www.phorum.com.gr/styles/propho/theme/utilities.css"
"https://www.phorum.com.gr/styles/propho/theme/common.css"
"https://www.phorum.com.gr/styles/propho/theme/links.css"
"https://www.phorum.com.gr/styles/propho/theme/content.css"
"https://www.phorum.com.gr/styles/propho/theme/buttons.css"
"https://www.phorum.com.gr/styles/propho/theme/cp.css"
"https://www.phorum.com.gr/styles/propho/theme/forms.css"
"https://www.phorum.com.gr/styles/propho/theme/icons.css"
"https://www.phorum.com.gr/styles/propho/theme/colours.css"
"https://www.phorum.com.gr/styles/propho/theme/responsive.css"
)
for url in "${css[@]}"
do
filename=$(basename "$url")
directory=$(dirname "$url" | sed 's#https://www.phorum.com.gr/##')
mkdir -p "$directory"
curl "$url" -O -J
mv "$filename" "$directory"
done
for url in "${includes[@]}"
do
filename=$(basename "$url")
curl "$url" -O -J
mv "$filename" styles/propho/theme
done
blah=0
while [ $blah -le 2505 ]
do
url="https://www.phorum.com.gr/viewtopic.php?f=43&t=1193&hilit=chiloutbuddy&start=$blah" # Εαν θέλεις άλλο νήμα, πρέπει να αλλάξεις τo URL εδώ. Κάθε νήμα ξεκινάει απο το start=0, οπότε εαν θέλεις και άλλα νήματα θα πρέπει να πας στην τελευταία τους σελιδά και να δεις στο URL την τιμή του start. Πχ η τελαυταία σελίδα στο https://www.phorum.com.gr/viewtopic.php?f=36&t=126&start=1590 είναι η 1590. Η τιμή στο while (while [ $blah -le 2505 ]) θα πρέπει να οριστεί ως αυτή της τελευταίας σελίδας του νήματος, δηλαδη στο παράδειγμα θα είχαμε while [ $blah -le 1590]. Εαν προστεθούν και άλλες σελίδες, δεν χρειάζεται να κατεβάσεις τα πάντα απο την αρχή, απλα άλλαξε το blah=0 σε blah=Χ όπου Χ = η τελαυταία σελίδα που είχες κατεβάσει οταν έτρεξες για πρώτη φορα το script στο συγκεκριμενο νήμα.
curl "$url" -o "page_$blah.html"
sleep 1
#sed -i 's/\.\//https:\/\/www.phorum.com.gr\//g' "page_$blah.html"
sed -i 's|./viewtopic\.php?f=43&t=1193&hilit=chiloutbuddy&sid=\([a-z 0-9]\+\)&start=\([0-9]\+\)|page_\2.html|g' "page_$blah.html"
blah=$((blah+15))
done
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 21 Απρ 2023, 00:20
από Allah
klg έγραψε: ↑20 Απρ 2023, 13:45
Μπορείς να κάνεις scrape το site χωρίς να κάνεις να το μπρικιάσεις, just saying. Από την άλλη θα μου πεις άμα το κάνουν αυτό 100 άτομα ταυτόχρονα δεν θα πάει καλά.
Τελικά αντί να το σώσετε το μαγαζί εσείς, θα κάνετε κατά λάθος ddos παίζοντας με τα σκριπτάκια και θα το γονατίσετε...
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 21 Απρ 2023, 08:23
από klg
Allah έγραψε: ↑21 Απρ 2023, 00:20
klg έγραψε: ↑20 Απρ 2023, 13:45
Μπορείς να κάνεις scrape το site χωρίς να κάνεις να το μπρικιάσεις, just saying. Από την άλλη θα μου πεις άμα το κάνουν αυτό 100 άτομα ταυτόχρονα δεν θα πάει καλά.
Τελικά αντί να το σώσετε το μαγαζί εσείς, θα κάνετε κατά λάθος ddos παίζοντας με τα σκριπτάκια και θα το γονατίσετε...
Nah, μια χαρά θα είναι το μαγαζί.
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 23 Απρ 2023, 16:32
από Dante Alighieri
GoBzi έγραψε: ↑20 Απρ 2023, 16:44
@
dna replication oλο το script σε bash. Κατεβάζει
μόνο το συγκεριμένο νήμα που ζήτησες αλλά μπορείς να το προσαρμώσεις για οτι νήμα θέλεις.
Κώδικας: Επιλογή όλων
#!/bin/bash
mkdir -p assets/css styles/propho/theme/el ext/alfredoramos/simplespoiler/styles/all/theme/css/ ext/cabot/profilgauche/styles/all/theme/ ext/david63/disclaimer/styles/all/theme/ ext/david63/privacypolicy/styles/all/theme/ ext/ger/modbreak/styles/all/theme/ ext/phpbb/pages/styles/prosilver/theme ext/stevotvr/flair/styles/prosilver/theme ext/vse/lightbox/styles/all/template/lightbox/css/
css=(
"https://www.phorum.com.gr/assets/css/font-awesome.min.css"
"https://www.phorum.com.gr/styles/propho/theme/stylesheet.css"
"https://www.phorum.com.gr/styles/propho/theme/el/stylesheet.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/all/theme/css/common.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/prosilver/theme/css/style.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/prosilver/theme/css/colors.css"
"https://www.phorum.com.gr/ext/cabot/profilgauche/styles/all/theme/profilgauche.css"
"https://www.phorum.com.gr/ext/david63/disclaimer/styles/all/theme/disclaimer.css"
"https://www.phorum.com.gr/ext/david63/privacypolicy/styles/all/theme/cookie.css"
"https://www.phorum.com.gr/ext/ger/modbreak/styles/all/theme/modbreak.css"
"https://www.phorum.com.gr/ext/phpbb/pages/styles/prosilver/theme/pages_common.css"
"https://www.phorum.com.gr/ext/stevotvr/flair/styles/prosilver/theme/flair.css"
"https://www.phorum.com.gr/ext/vse/lightbox/styles/all/template/lightbox/css/lightbox.min.css"
)
includes=(
"https://www.phorum.com.gr/styles/propho/theme/normalize.css"
"https://www.phorum.com.gr/styles/propho/theme/base.css"
"https://www.phorum.com.gr/styles/propho/theme/utilities.css"
"https://www.phorum.com.gr/styles/propho/theme/common.css"
"https://www.phorum.com.gr/styles/propho/theme/links.css"
"https://www.phorum.com.gr/styles/propho/theme/content.css"
"https://www.phorum.com.gr/styles/propho/theme/buttons.css"
"https://www.phorum.com.gr/styles/propho/theme/cp.css"
"https://www.phorum.com.gr/styles/propho/theme/forms.css"
"https://www.phorum.com.gr/styles/propho/theme/icons.css"
"https://www.phorum.com.gr/styles/propho/theme/colours.css"
"https://www.phorum.com.gr/styles/propho/theme/responsive.css"
)
for url in "${css[@]}"
do
filename=$(basename "$url")
directory=$(dirname "$url" | sed 's#https://www.phorum.com.gr/##')
mkdir -p "$directory"
curl "$url" -O -J
mv "$filename" "$directory"
done
for url in "${includes[@]}"
do
filename=$(basename "$url")
curl "$url" -O -J
mv "$filename" styles/propho/theme
done
blah=0
while [ $blah -le 2505 ]
do
url="https://www.phorum.com.gr/viewtopic.php?f=43&t=1193&hilit=chiloutbuddy&start=$blah" # Εαν θέλεις άλλο νήμα, πρέπει να αλλάξεις τo URL εδώ. Κάθε νήμα ξεκινάει απο το start=0, οπότε εαν θέλεις και άλλα νήματα θα πρέπει να πας στην τελευταία τους σελιδά και να δεις στο URL την τιμή του start. Πχ η τελαυταία σελίδα στο https://www.phorum.com.gr/viewtopic.php?f=36&t=126&start=1590 είναι η 1590. Η τιμή στο while (while [ $blah -le 2505 ]) θα πρέπει να οριστεί ως αυτή της τελευταίας σελίδας του νήματος, δηλαδη στο παράδειγμα θα είχαμε while [ $blah -le 1590]. Εαν προστεθούν και άλλες σελίδες, δεν χρειάζεται να κατεβάσεις τα πάντα απο την αρχή, απλα άλλαξε το blah=0 σε blah=Χ όπου Χ = η τελαυταία σελίδα που είχες κατεβάσει οταν έτρεξες για πρώτη φορα το script στο συγκεκριμενο νήμα.
curl "$url" -o "page_$blah.html"
sleep 1
#sed -i 's/\.\//https:\/\/www.phorum.com.gr\//g' "page_$blah.html"
sed -i 's|./viewtopic\.php?f=43&t=1193&hilit=chiloutbuddy&sid=\([a-z 0-9]\+\)&start=\([0-9]\+\)|page_\2.html|g' "page_$blah.html"
blah=$((blah+15))
done
Πως κατεβάζεις όλες σου τις δημοσιεύσεις;
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 23 Απρ 2023, 16:38
από Dante Alighieri
GoBzi έγραψε: ↑20 Απρ 2023, 13:36
Το παραπάνω script είναι ένα bash script που περιλαμβάνει μια εντολή while loop και χρησιμοποιεί τρία εργαλεία του Linux: το curl, το sleep και το sed.
Αρχικά, ορίζεται μια μεταβλητή με όνομα start που έχει αρχική τιμή 0. Στη συνέχεια, το while loop εκτελείται όσο η τιμή της start είναι μικρότερη ή ίση με 2505.
Κάθε φορά που εκτελείται το while loop, δημιουργείται μια μεταβλητή url, η οποία περιλαμβάνει μια διεύθυνση URL που χρησιμοποιείται για να κατεβάσει μια ιστοσελίδα από το διαδίκτυο χρησιμοποιώντας την εντολή curl. Η διεύθυνση URL αλλάζει κάθε φορά που το while loop εκτελείται, προσθέτοντας την τιμή της μεταβλητής start στο τέλος της διεύθυνσης URL.
Έπειτα, το script κατεβάζει την ιστοσελίδα με όνομα "page_$start.html" και αυξάνει την τιμή της μεταβλητής start κατά 15. Η εντολή sleep προσθέτει μια καθυστέρηση ενός δευτερολέπτου μεταξύ των αιτημάτων κατέβασματος ιστοσελίδων, προκειμένου να αποφευχθεί η υπερβολική φόρτωση του διακομιστή.
Τέλος, η εντολή sed αντικαθιστ
Εδώ κόλλησε και του είπα να συνεχίσει 
εί την συμβολοσειρά ./ σε όλο το περιεχόμενο του αρχείου "page_$start.html" με τη συμβολοσειρά
https://www.phorum.com.gr/. Αυτό επιτρέπει στο script να αντικαταστήσει στα στοιχεία της ιστοσελίδας που κατεβάζει τα σχετικά URL με απόλυτες διευθύνσεις URL.
Συνολικά, το script αυτό μπορεί να χρησιμοποιηθεί για να κατεβάσει μια σειρά από ιστοσελίδες από ένα συγκεκριμένο θέμα σε ένα φόρουμ και να αλλάξει τις σχετικές διευθύνσεις URL σε απόλυτες διευθύνσεις URL για ευκολότερη πλοήγηση και χρήση των ιστοσελίδων.

Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 23 Απρ 2023, 16:46
από GoBzi
Dante Alighieri έγραψε: ↑23 Απρ 2023, 16:32
GoBzi έγραψε: ↑20 Απρ 2023, 16:44
@
dna replication oλο το script σε bash. Κατεβάζει
μόνο το συγκεριμένο νήμα που ζήτησες αλλά μπορείς να το προσαρμώσεις για οτι νήμα θέλεις.
Κώδικας: Επιλογή όλων
#!/bin/bash
mkdir -p assets/css styles/propho/theme/el ext/alfredoramos/simplespoiler/styles/all/theme/css/ ext/cabot/profilgauche/styles/all/theme/ ext/david63/disclaimer/styles/all/theme/ ext/david63/privacypolicy/styles/all/theme/ ext/ger/modbreak/styles/all/theme/ ext/phpbb/pages/styles/prosilver/theme ext/stevotvr/flair/styles/prosilver/theme ext/vse/lightbox/styles/all/template/lightbox/css/
css=(
"https://www.phorum.com.gr/assets/css/font-awesome.min.css"
"https://www.phorum.com.gr/styles/propho/theme/stylesheet.css"
"https://www.phorum.com.gr/styles/propho/theme/el/stylesheet.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/all/theme/css/common.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/prosilver/theme/css/style.css"
"https://www.phorum.com.gr/ext/alfredoramos/simplespoiler/styles/prosilver/theme/css/colors.css"
"https://www.phorum.com.gr/ext/cabot/profilgauche/styles/all/theme/profilgauche.css"
"https://www.phorum.com.gr/ext/david63/disclaimer/styles/all/theme/disclaimer.css"
"https://www.phorum.com.gr/ext/david63/privacypolicy/styles/all/theme/cookie.css"
"https://www.phorum.com.gr/ext/ger/modbreak/styles/all/theme/modbreak.css"
"https://www.phorum.com.gr/ext/phpbb/pages/styles/prosilver/theme/pages_common.css"
"https://www.phorum.com.gr/ext/stevotvr/flair/styles/prosilver/theme/flair.css"
"https://www.phorum.com.gr/ext/vse/lightbox/styles/all/template/lightbox/css/lightbox.min.css"
)
includes=(
"https://www.phorum.com.gr/styles/propho/theme/normalize.css"
"https://www.phorum.com.gr/styles/propho/theme/base.css"
"https://www.phorum.com.gr/styles/propho/theme/utilities.css"
"https://www.phorum.com.gr/styles/propho/theme/common.css"
"https://www.phorum.com.gr/styles/propho/theme/links.css"
"https://www.phorum.com.gr/styles/propho/theme/content.css"
"https://www.phorum.com.gr/styles/propho/theme/buttons.css"
"https://www.phorum.com.gr/styles/propho/theme/cp.css"
"https://www.phorum.com.gr/styles/propho/theme/forms.css"
"https://www.phorum.com.gr/styles/propho/theme/icons.css"
"https://www.phorum.com.gr/styles/propho/theme/colours.css"
"https://www.phorum.com.gr/styles/propho/theme/responsive.css"
)
for url in "${css[@]}"
do
filename=$(basename "$url")
directory=$(dirname "$url" | sed 's#https://www.phorum.com.gr/##')
mkdir -p "$directory"
curl "$url" -O -J
mv "$filename" "$directory"
done
for url in "${includes[@]}"
do
filename=$(basename "$url")
curl "$url" -O -J
mv "$filename" styles/propho/theme
done
blah=0
while [ $blah -le 2505 ]
do
url="https://www.phorum.com.gr/viewtopic.php?f=43&t=1193&hilit=chiloutbuddy&start=$blah" # Εαν θέλεις άλλο νήμα, πρέπει να αλλάξεις τo URL εδώ. Κάθε νήμα ξεκινάει απο το start=0, οπότε εαν θέλεις και άλλα νήματα θα πρέπει να πας στην τελευταία τους σελιδά και να δεις στο URL την τιμή του start. Πχ η τελαυταία σελίδα στο https://www.phorum.com.gr/viewtopic.php?f=36&t=126&start=1590 είναι η 1590. Η τιμή στο while (while [ $blah -le 2505 ]) θα πρέπει να οριστεί ως αυτή της τελευταίας σελίδας του νήματος, δηλαδη στο παράδειγμα θα είχαμε while [ $blah -le 1590]. Εαν προστεθούν και άλλες σελίδες, δεν χρειάζεται να κατεβάσεις τα πάντα απο την αρχή, απλα άλλαξε το blah=0 σε blah=Χ όπου Χ = η τελαυταία σελίδα που είχες κατεβάσει οταν έτρεξες για πρώτη φορα το script στο συγκεκριμενο νήμα.
curl "$url" -o "page_$blah.html"
sleep 1
#sed -i 's/\.\//https:\/\/www.phorum.com.gr\//g' "page_$blah.html"
sed -i 's|./viewtopic\.php?f=43&t=1193&hilit=chiloutbuddy&sid=\([a-z 0-9]\+\)&start=\([0-9]\+\)|page_\2.html|g' "page_$blah.html"
blah=$((blah+15))
done
Πως κατεβάζεις όλες σου τις δημοσιεύσεις;
Δεν είχα ασχοληθεί πολύ με το συγκεκριμένο, αλλά αν θυμάμαι καλά η κάθε σου δημοσίευση έχει ένα μοναδικό κωδικό, αλλά ο ίδιος κωδικός χρησιμοποιείται όταν κάποιος σου κάνει quote, οπότε δεν μπορούσα να ξεχωρίσω ποια είναι η αρχική δημοσίευση και ποιο το quote.
Δεν έχω πολύ δουλειά αύριο, θα το ξαναδώ.
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 23 Απρ 2023, 16:48
από GoBzi
Dante Alighieri έγραψε: ↑23 Απρ 2023, 16:38
GoBzi έγραψε: ↑20 Απρ 2023, 13:36
Το παραπάνω script είναι ένα bash script που περιλαμβάνει μια εντολή while loop και χρησιμοποιεί τρία εργαλεία του Linux: το curl, το sleep και το sed.
Αρχικά, ορίζεται μια μεταβλητή με όνομα start που έχει αρχική τιμή 0. Στη συνέχεια, το while loop εκτελείται όσο η τιμή της start είναι μικρότερη ή ίση με 2505.
Κάθε φορά που εκτελείται το while loop, δημιουργείται μια μεταβλητή url, η οποία περιλαμβάνει μια διεύθυνση URL που χρησιμοποιείται για να κατεβάσει μια ιστοσελίδα από το διαδίκτυο χρησιμοποιώντας την εντολή curl. Η διεύθυνση URL αλλάζει κάθε φορά που το while loop εκτελείται, προσθέτοντας την τιμή της μεταβλητής start στο τέλος της διεύθυνσης URL.
Έπειτα, το script κατεβάζει την ιστοσελίδα με όνομα "page_$start.html" και αυξάνει την τιμή της μεταβλητής start κατά 15. Η εντολή sleep προσθέτει μια καθυστέρηση ενός δευτερολέπτου μεταξύ των αιτημάτων κατέβασματος ιστοσελίδων, προκειμένου να αποφευχθεί η υπερβολική φόρτωση του διακομιστή.
Τέλος, η εντολή sed αντικαθιστ
Εδώ κόλλησε και του είπα να συνεχίσει 
εί την συμβολοσειρά ./ σε όλο το περιεχόμενο του αρχείου "page_$start.html" με τη συμβολοσειρά
https://www.phorum.com.gr/. Αυτό επιτρέπει στο script να αντικαταστήσει στα στοιχεία της ιστοσελίδας που κατεβάζει τα σχετικά URL με απόλυτες διευθύνσεις URL.
Συνολικά, το script αυτό μπορεί να χρησιμοποιηθεί για να κατεβάσει μια σειρά από ιστοσελίδες από ένα συγκεκριμένο θέμα σε ένα φόρουμ και να αλλάξει τις σχετικές διευθύνσεις URL σε απόλυτες διευθύνσεις URL για ευκολότερη πλοήγηση και χρήση των ιστοσελίδων.

Chat gpt είναι αυτό; Εάν δεν έχεις πρόσβαση σε Linux ζητά του να στο μετατρέψει σε powershell και μετά ρώτα πως να το τρέξεις. Λογικά μπορεί να το μετατρέψει.
Επίσης, αυτό είναι το πρώτο πρώτο script. Καλύτερα να δοκιμάσεις το 2ο, στο σχόλιο μου λίγο πιο κάτω από αυτό.
Re: πως αποθηκεύονται νήματα του phorum.com.gr?
Δημοσιεύτηκε: 27 Απρ 2024, 11:08
από dna replication
bump