Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους  Το θέμα επιλύθηκε

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό Lionux » 17 Σεπ 2014, 18:01

Χαιρετω την κοινοτητα !

Θα ηθελα την βοηθεια σας σχετικα με το πως μπορω να μετατρεψω ενα απλο αρχειο κειμενου, που περιεχει πολλες διευθυνσεις της μορφης http:// μπλα-μπλα σε html clickable υπερσυνδεσμους με την εμφανιση του τιτλου ! Για να γινω πιο σαφης με σα σε ενα αρχειο απλου κειμενου εχω την διευθυνση:

Κώδικας: Επιλογή όλων
http://ubuntuguide.net/add-a-grub2-entry-for-ubuntu-booting-into-consolecommand-line


κ θελω να το μετατρεψω σε html στην μορφη

Add a Grub2 Entry for Ubuntu booting into console/command line

Ευχαριστω εκ των προτερων !
Spoiler: show
System: TOSHIBA Satellite A300
Distro: Ubuntu 14.04.5 trusty
Kernel: 3.13.0-107-generic
Desktop: KDE 4.13.3
Bios: INSYDE version: 2.20
CPU:Dual core Intel T3400
Graphics Card:[AMD/ATI] RV620/M82 [Mobility Radeon HD 3450/3470]
Audio Card: Intel 82801
Network Card: Qualcomm Atheros AR928X driver: ath9k
Επιπεδο linux:Μεσο
Aγγλικα:Μετρια
Προγραμματισμος:Oχι
Άβαταρ μέλους
Lionux
punkTUX
punkTUX
 
Δημοσιεύσεις: 173
Εγγραφή: 23 Νοέμ 2009, 02:26
Εκτύπωση

Re: Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό kamar » 17 Σεπ 2014, 21:57

Μια ιδέα είναι αυτό σε Python 3:

Κώδικας: Επιλογή όλων
# Ο αρχικός σύνδεσμος
sindesmos ='http://ubuntuguide.net/add-a-grub2-entry-for-ubuntu-booting-into-consolecommand-line'

# Ο τίτλος του συνδέσμου είναι το κομμάτι μετά την τελευταία κάθετο. (Υποθέτω ότι δεν τελειώνει με "/")
# Αν ναι πριν από το παρακάτω αφαιρούμε την τελευταία κάθετο.
titlos = sindesmos.split('/')[-1]

# Αντικαθιστώ την παύλα με κενό.
titlos = titlos.replace('-', ' ')

#Δημιουργώ το σύνδεσμο.
link = "<a href={0}>{1}</a>".format(sindesmos, titlos.capitalize())


print(link)


Διαμόρφωσέ το για τις ανάγκες σου.
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-91-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD A6-5400K APU with Radeon HD Graphics ‖ RAM 3347 MiB ‖ ASUS F2A55-M LK2 PLUS
4 Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7540D] [1002:9991] {radeon}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
Άβαταρ μέλους
kamar
punkTUX
punkTUX
 
Δημοσιεύσεις: 166
Εγγραφή: 10 Μάιος 2008, 20:24
Τοποθεσία: Χανιά
Εκτύπωση

Re: Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό Lionux » 17 Σεπ 2014, 22:19

Σε ευχαριστω για την απαντηση αλλα μπερδευτηκα καπως με την python ... Βασικα βρηκα τα εξης :

Κώδικας: Επιλογή όλων
awk '{printf "<a href=\"%s\">%s</a><br>", $0,$0}' URLs.txt > URLs.html


To οποιο μετατρεπει το αρχειο κειμενου σε html clickable hyperlinks χωρις να εμφανιζεται ο τιτλος του αρθρου κ επειτα βρηκα το εξης ενδιαφερον :

Κώδικας: Επιλογή όλων
jim@hyundai:~$ wget -qO- 'http://ubuntuguide.net/add-a-grub2-entry-for-ubuntu-booting-into-consolecommand-line' | perl -l -0777 -ne 'print $1 if /<title.*?>\s*(.*?)\s*<\/title/si'
Add a Grub2 Entry for Ubuntu booting into console/command line - Ubuntu Sharing


Πως θα μπορουσα να ενωσω αυτες τις δυο εντολες ετσι ωστε να διαβαζει το wget το αρχειο κειμενου ?
Spoiler: show
System: TOSHIBA Satellite A300
Distro: Ubuntu 14.04.5 trusty
Kernel: 3.13.0-107-generic
Desktop: KDE 4.13.3
Bios: INSYDE version: 2.20
CPU:Dual core Intel T3400
Graphics Card:[AMD/ATI] RV620/M82 [Mobility Radeon HD 3450/3470]
Audio Card: Intel 82801
Network Card: Qualcomm Atheros AR928X driver: ath9k
Επιπεδο linux:Μεσο
Aγγλικα:Μετρια
Προγραμματισμος:Oχι
Άβαταρ μέλους
Lionux
punkTUX
punkTUX
 
Δημοσιεύσεις: 173
Εγγραφή: 23 Νοέμ 2009, 02:26
Εκτύπωση

Re: Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό kamar » 17 Σεπ 2014, 22:27

έγραψε:Πως θα μπορουσα να ενωσω αυτες τις δυο εντολες ετσι ωστε να διαβαζει το wget το αρχειο κειμενου ?


Εδώ δεν μπορώ να σε βοηθήσω. Οι γνώσεις μου σε awk και regular expressions είναι περιορισμένες. Ίσως κάποιος πιο ειδικός να σε βοηθήσει.
Αν θέλεις όμως μπορώ να σε βοηθήσω σε python.
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-91-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD A6-5400K APU with Radeon HD Graphics ‖ RAM 3347 MiB ‖ ASUS F2A55-M LK2 PLUS
4 Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7540D] [1002:9991] {radeon}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
Άβαταρ μέλους
kamar
punkTUX
punkTUX
 
Δημοσιεύσεις: 166
Εγγραφή: 10 Μάιος 2008, 20:24
Τοποθεσία: Χανιά
Εκτύπωση

Re: Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό Lionux » 17 Σεπ 2014, 22:30

Ευχαριστως κ σε python !!! :)

Με πιο τροπο λοιπον μπορει να διαβασει η python το url.txt αρχειο που εχω !
Spoiler: show
System: TOSHIBA Satellite A300
Distro: Ubuntu 14.04.5 trusty
Kernel: 3.13.0-107-generic
Desktop: KDE 4.13.3
Bios: INSYDE version: 2.20
CPU:Dual core Intel T3400
Graphics Card:[AMD/ATI] RV620/M82 [Mobility Radeon HD 3450/3470]
Audio Card: Intel 82801
Network Card: Qualcomm Atheros AR928X driver: ath9k
Επιπεδο linux:Μεσο
Aγγλικα:Μετρια
Προγραμματισμος:Oχι
Άβαταρ μέλους
Lionux
punkTUX
punkTUX
 
Δημοσιεύσεις: 173
Εγγραφή: 23 Νοέμ 2009, 02:26
Εκτύπωση

Re: Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό kamar » 17 Σεπ 2014, 22:50

Lionux έγραψε:Ευχαριστως κ σε python !!! :)

Με πιο τροπο λοιπον μπορει να διαβασει η python το url.txt αρχειο που εχω !


Έτοιμο.

Κώδικας: Επιλογή όλων
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
#==================================================================================
# Copyright:
#
# Copyright (C) 2014 kamar <marmako[at]gmail[dot]com>
#
# License:
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this package; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#===============================================================================

"""
Μετατροπή συνδέσμων από αρχείο txt σε αρχείο html, με δημιουργία
τίτλου.
Το αρχείο urls.txt πρέπει να βρίσκεται στον ίδιο κατάλογο με το
script.
"""

fh = open('urls.txt', 'r')
urlsfromtxt = fh.read()
fh.close()
del(fh)

fh = open('urls.html', 'w')
for line in urlsfromtxt.splitlines():
line = line.rstrip('/')
titlos = line.split('/')[-1]
titlos = titlos.replace('-', ' ')
fh.write("<a href={0}>{1}</a></br>\n".format(line, titlos.capitalize()))

fh.close()
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-91-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD A6-5400K APU with Radeon HD Graphics ‖ RAM 3347 MiB ‖ ASUS F2A55-M LK2 PLUS
4 Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7540D] [1002:9991] {radeon}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
Άβαταρ μέλους
kamar
punkTUX
punkTUX
 
Δημοσιεύσεις: 166
Εγγραφή: 10 Μάιος 2008, 20:24
Τοποθεσία: Χανιά
Εκτύπωση

Re: Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό Lionux » 17 Σεπ 2014, 23:35

Παρα πολυ καλο φιλε !!! Κατα ενα 80% εκανε την δουλεια του το scriptaki ΤΑΧΥΤΑΤΑ !!! Ομως καμια 200 διευθυνσεις δεν βγηκαν σωστα ! Παραθετω ενα screenshot για να καταλαβεις !



Αν μπορεις να το διορθωσεις θα με κανεις πολυ χαρουμενο ! Οπως κ να εχει παντως σε ευχαριστω παρα πολυ για το χρονο σου !
Spoiler: show
System: TOSHIBA Satellite A300
Distro: Ubuntu 14.04.5 trusty
Kernel: 3.13.0-107-generic
Desktop: KDE 4.13.3
Bios: INSYDE version: 2.20
CPU:Dual core Intel T3400
Graphics Card:[AMD/ATI] RV620/M82 [Mobility Radeon HD 3450/3470]
Audio Card: Intel 82801
Network Card: Qualcomm Atheros AR928X driver: ath9k
Επιπεδο linux:Μεσο
Aγγλικα:Μετρια
Προγραμματισμος:Oχι
Άβαταρ μέλους
Lionux
punkTUX
punkTUX
 
Δημοσιεύσεις: 173
Εγγραφή: 23 Νοέμ 2009, 02:26
Εκτύπωση

Re: Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό talos » 18 Σεπ 2014, 00:02

talos
babeTUX
babeTUX
 
Δημοσιεύσεις: 28
Εγγραφή: 12 Νοέμ 2013, 20:21
Εκτύπωση

Re: Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό kamar » 18 Σεπ 2014, 10:37

Σύμφωνα με την αρχική σου δημοσίευση είμαι σωστός. Προφανώς σε κάποιους συνδέσμους, υπάρχουν ειδικοί χαρακτήρες.
Δημοσίευσε ενδεικτικούς συνδέσμους που δημιουργούν πρόβλημα, για να δω τι μπορώ να κάνω.
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-91-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD A6-5400K APU with Radeon HD Graphics ‖ RAM 3347 MiB ‖ ASUS F2A55-M LK2 PLUS
4 Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7540D] [1002:9991] {radeon}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
Άβαταρ μέλους
kamar
punkTUX
punkTUX
 
Δημοσιεύσεις: 166
Εγγραφή: 10 Μάιος 2008, 20:24
Τοποθεσία: Χανιά
Εκτύπωση

Re: Μετατροπη πολλαπλων διευθυνσεων http σε υπερσυνδεσμους

Δημοσίευσηαπό Lionux » 18 Σεπ 2014, 17:14

Σου παραθετω μερικα url που εχουν ειδικους χαρακτηρες κ σε ευχαριστω πολυ για αλλη μια φορα !

Κώδικας: Επιλογή όλων
http://feedproxy.google.com/~r/LiberianGeek/~3/dt82dtRlxaU
http://feedproxy.google.com/~r/MakeTechEasier/~3/AnlcF996mjs/story01.htm
http://feedproxy.google.com/~r/MakeTechEasier/~3/m3COoUjknjo/29
http://feedproxy.google.com/~r/TheGeekStuff/~3/MeRjFtFWVek
http://minotavrs.wordpress.com/2013/01/22/how-to-%cf%80%cf%89%cf%82-%ce%ba%cf%81%cf%8d%ce%b2%ce%bf%cf%85%ce%bc%ce%b5-%ce%b1%cf%81%cf%87%ce%b5%ce%af%ce%b1-%ce%bc%ce%ad%cf%83%ce%b1-%cf%83%ce%b5-%ce%b5%ce%b9%ce%ba%cf%8c%ce%bd%ce%b5%cf%82-%cf%83
http://mylinuxbook.com/8-examples-of-wildcards-in-bash/?utm_source=rss&utm_medium=rss&utm_campaign=8-examples-of-wildcards-in-bash
Spoiler: show
System: TOSHIBA Satellite A300
Distro: Ubuntu 14.04.5 trusty
Kernel: 3.13.0-107-generic
Desktop: KDE 4.13.3
Bios: INSYDE version: 2.20
CPU:Dual core Intel T3400
Graphics Card:[AMD/ATI] RV620/M82 [Mobility Radeon HD 3450/3470]
Audio Card: Intel 82801
Network Card: Qualcomm Atheros AR928X driver: ath9k
Επιπεδο linux:Μεσο
Aγγλικα:Μετρια
Προγραμματισμος:Oχι
Άβαταρ μέλους
Lionux
punkTUX
punkTUX
 
Δημοσιεύσεις: 173
Εγγραφή: 23 Νοέμ 2009, 02:26
Εκτύπωση

Επόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι