Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 29/09/2019, à 13:06

abecidofugy

Re : Expressions régulières

jamesbad000 a écrit :

La bonne réponse a été données en #13

pingouinux a écrit :
grep -Po '(?<=href=")/[^#"]*(?=")' fichier

Il faut "juste" que le logiciel support les référence avant/arrière... Autrement je doute que ce soit possible

Ah oui en effet, ça marche en ligne de commande.

Y’a moyen de l'écrire autrement ?

Le logiciel devrait faire ça, enfin je voudrais qu'il fasse : dans les liens a, avec pour attribut href, affiche aléatoirement une url interne par un clic

Le href est déjà précisé dans le filtre du logiciel.
Random aussi.
Il me manque juste l'expression qui pourrait qualifier toutes ces URL :
/services
/portfolio
/agence-communication
/blog
/devis-gratuit
/contact
/publicitem-vous-rappelle
/devis-gratuit
/services/agence-communication
/services/agence-web
/services/imprimerie-en-ligne-alsace
/services/studio-graphique
/services/photographe
/services/redactionnel
/user/password
/conditions-generales-vente-mentions-legales

Dernière modification par abecidofugy (Le 29/09/2019, à 13:24)

Hors ligne

#27 Le 29/09/2019, à 13:08

jamesbad000

Re : Expressions régulières

La formulation de nany est pas mal si on accepte de récupérer le href et le guillemet. Mais il faut utiliser le mode "résistant" avec *? et non * tout seul, autrement ça part en vrille (et donc -P pour être mode perl)

grep -Po 'href="/[^#]*?"' index.html

L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#28 Le 29/09/2019, à 13:13

abecidofugy

Re : Expressions régulières

jamesbad000 a écrit :

La formulation de nany est pas mal si on accepte de récupérer le href et le guillemet. Mais il faut utiliser le mode "résistant" avec *? et non * tout seul, autrement ça part en vrille (et donc -P pour être mode perl)

grep -Po 'href="/[^#]*?"' index.html

Résultat :
href="/services"
href="/portfolio"
href="/agence-communication"
href="/blog"
href="/devis-gratuit"

Il me faut les résultats sans href et sans guillemets.

Dernière modification par abecidofugy (Le 29/09/2019, à 13:46)

Hors ligne

#29 Le 29/09/2019, à 13:13

nany

Re : Expressions régulières

jamesbad000 a écrit :

(et donc -P pour être mode perl)

Oui, donc à condition que le logiciel sache traduire le mode Perl.
On ne sait d’ailleurs toujours pas de quel logiciel il s’agit.

Hors ligne

#30 Le 29/09/2019, à 13:19

abecidofugy

Re : Expressions régulières

@nany : zennoposter

Hors ligne

#31 Le 29/09/2019, à 13:31

pingouinux

Re : Expressions régulières

$ grep -Po '(?<=href=")/[^#"]*(?=")' index.html
//fonts.googleapis.com
//fonts.googleapis.com
//fonts.gstatic.com
//fonts.gstatic.com
//www.google-analytics.com
//www.google-analytics.com
//stats.g.doubleclick.net
//stats.g.doubleclick.net
//cdn.rawgit.com
//cdn.rawgit.com
//code.jquery.com
//code.jquery.com
//static.addtoany.com
//static.addtoany.com
/sites/publicitem.pro/files/advagg_css/css__xCcMuLNQwdrFKAEeJ-iQEhtNqrLXcFNV0sWRTJ0klkY__qikBmxQuuNQZgYPqxLBlAx62iPkiR0fcMc9e1LaEK1E__as3cIboFGnrB9If2S5Wai7OsfJxC9f1RQcFD6J91ffo.css
/sites/publicitem.pro/files/advagg_css/css__HtNZFcF5QAKNWsRSZWZlZqTi9Fts5WjPRnwvqcGMsng__BvGMsesr1mOXhr8-uSKbNkAK3NtdkWyvM-rva1udSkk__as3cIboFGnrB9If2S5Wai7OsfJxC9f1RQcFD6J91ffo.css
/sites/publicitem.pro/files/advagg_css/css__xwl2mGIHoQCUKn2r-ET9u-7ixQRVIA6HS0cUp_w1cAc__RVmC6PXm65BWcx7NiSUunb2SAcMvI_dFY9DqQCjPZvg__as3cIboFGnrB9If2S5Wai7OsfJxC9f1RQcFD6J91ffo.css
/
/services
/portfolio
/agence-communication
/blog
/devis-gratuit
/contact
/publicitem-vous-rappelle
/devis-gratuit
/services/agence-communication
/services/agence-web
/services/imprimerie-en-ligne-alsace
/services/studio-graphique
/services/photographe
/services/redactionnel
/user/password
/conditions-generales-vente-mentions-legales

Hors ligne

#32 Le 29/09/2019, à 13:38

abecidofugy

Re : Expressions régulières

Il faudrait écrire cette commande de façon la moins élégante qui soit, c’est à dire faire plusieurs grep de suite et ne pas utiliser d’option pour grep.

Dernière modification par abecidofugy (Le 29/09/2019, à 13:45)

Hors ligne

#34 Le 29/09/2019, à 13:51

abecidofugy

Re : Expressions régulières

nany a écrit :

À tester dans zennoposter :

/[^/#"]*

L’expression marche, mais prend aussi les liens des social medias.

Hors ligne

#35 Le 29/09/2019, à 13:53

jamesbad000

Re : Expressions régulières

abecidofugy a écrit :

L’expression marche, mais prend aussi les liens des social medias.

Donne un exemple.


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#36 Le 29/09/2019, à 13:57

abecidofugy

Re : Expressions régulières

jamesbad000 a écrit :
abecidofugy a écrit :

L’expression marche, mais prend aussi les liens des social medias.

Donne un exemple.

Je ne sais pas ce que le logiciel retient de la commande de @nani, mais en général (parce que je suis en mode 'random') ça m’ouvre un onglet de partage social dans mon navigateur intégré au logiciel.

Hors ligne

#37 Le 29/09/2019, à 13:58

kamaris

Re : Expressions régulières

À toutes fins utiles, voici la doc (ou une partie) pour les regex dans zennoposter : https://zennolab.com/wiki/en:creating-a … xpressions

Hors ligne

#38 Le 29/09/2019, à 14:00

abecidofugy

Re : Expressions régulières

@kamaris : OMG, ça existe. Désolé, je vais la lire et tenter d’y comprendre quelque chose.

Hors ligne

#39 Le 29/09/2019, à 14:13

pingouinux

Re : Expressions régulières

Si ton logiciel permet d'utiliser sed, ceci donne le même résultat que le grep en #31 (le premier sed a pour but que chaque ligne ne contienne qu'une seule chaîne href=) :

sed 's/\bhref=/\n&/g' index.html | sed -rn 's@.*href="(/[^#"]*)".*@\1@p'

Hors ligne

#40 Le 29/09/2019, à 14:16

abecidofugy

Re : Expressions régulières

pingouinux a écrit :

Si ton logiciel permet d'utiliser sed, ceci donne le même résultat que le grep en #31 (le premier sed a pour but que chaque ligne ne contienne qu'une seule chaîne href=) :

sed 's/\bhref=/\n&/g' index.html | sed -rn 's@.*href="(/[^#"]*)".*@\1@p'

Je vais ouvrir un ticket de demande d’aide sur leur site et leur demander directement, ça pourrait être une bonne idée. C’est juste possible de modifier la ligne pour ne retourner que les résultats qui sont dans des liens a html ?

Dernière modification par abecidofugy (Le 29/09/2019, à 14:17)

Hors ligne

#41 Le 29/09/2019, à 14:24

jamesbad000

Re : Expressions régulières

Je crois que j'ai compris  :

^/[^#]*$

L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#42 Le 29/09/2019, à 14:27

abecidofugy

Re : Expressions régulières

jamesbad000 a écrit :

Je crois que j'ai compris  :

^/[^#]*$

Le logiciel ne prend pas, mais je pense qu’on n’est pas loin d’une solution.

Hors ligne

#43 Le 29/09/2019, à 14:28

pingouinux

Re : Expressions régulières

abecidofugy #40 a écrit :

C’est juste possible de modifier la ligne pour ne retourner que les résultats qui sont dans des liens a html ?

???

Hors ligne

#44 Le 29/09/2019, à 14:31

abecidofugy

Re : Expressions régulières

pingouinux a écrit :
abecidofugy #40 a écrit :

C’est juste possible de modifier la ligne pour ne retourner que les résultats qui sont dans des liens a html ?

???

Oui, isoler que les balises a

Exemple : ces lignes sont en trop :

//fonts.googleapis.com
//fonts.googleapis.com
//fonts.gstatic.com
//fonts.gstatic.com
//www.google-analytics.com
//www.google-analytics.com
//stats.g.doubleclick.net
//stats.g.doubleclick.net
//cdn.rawgit.com
//cdn.rawgit.com
//code.jquery.com
//code.jquery.com
//static.addtoany.com
//static.addtoany.com
/sites/publicitem.pro/files/advagg_css/css__xCcMuLNQwdrFKAEeJ-iQEhtNqrLXcFNV0sWRTJ0klkY__qikBmxQuuNQZgYPqxLBlAx62iPkiR0fcMc9e1LaEK1E__as3cIboFGnrB9If2S5Wai7OsfJxC9f1RQcFD6J91ffo.css
/sites/publicitem.pro/files/advagg_css/css__HtNZFcF5QAKNWsRSZWZlZqTi9Fts5WjPRnwvqcGMsng__BvGMsesr1mOXhr8-uSKbNkAK3NtdkWyvM-rva1udSkk__as3cIboFGnrB9If2S5Wai7OsfJxC9f1RQcFD6J91ffo.css
/sites/publicitem.pro/files/advagg_css/css__xwl2mGIHoQCUKn2r-ET9u-7ixQRVIA6HS0cUp_w1cAc__RVmC6PXm65BWcx7NiSUunb2SAcMvI_dFY9DqQCjPZvg__as3cIboFGnrB9If2S5Wai7OsfJxC9f1RQcFD6J91ffo.css
/

Hors ligne

#45 Le 29/09/2019, à 14:35

jamesbad000

Re : Expressions régulières

abecidofugy a écrit :

C’est juste possible de modifier la ligne pour ne retourner que les résultats qui sont dans des liens a html ?

repartir sur la solution du # 13 en ajoutant "<a "

grep -Po '(?<=<a href=")/[^#"]*(?=")' fichier

L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#46 Le 29/09/2019, à 14:39

jamesbad000

Re : Expressions régulières

abecidofugy a écrit :
jamesbad000 a écrit :

Je crois que j'ai compris  :

^/[^#]*$

Le logiciel ne prend pas, mais je pense qu’on n’est pas loin d’une solution.

Etonnant car tout ce que j'ai mis la dedans est supporté par ton logiciel d'après la doc... Et ça résous bien le problème par rapport à

/[^#]*

Ca correspond formellement à la définition commençant par un slash et ne contenant pas de #
Si on veut commençant par un slash et ne contenant /# il faut probablement de nouveau introduire des références avant/arrière et ça je ne suis pas certain que ton logiciel le supporte

Dernière modification par jamesbad000 (Le 29/09/2019, à 14:46)


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#47 Le 29/09/2019, à 14:49

abecidofugy

Re : Expressions régulières

@jamesbad000 : oui ton expression semble bonne, mais je ne sais pas pourquoi ça ne prend pas. Je viens d’ouvrir un billet de demande de support. Faudra sans doute attendre lundi.

Merci en tous les cas à tous.

À moins que vous ayez encore une idée ?

Hors ligne

#48 Le 29/09/2019, à 14:51

pingouinux

Re : Expressions régulières

@abecidofugy #44

sed 's/<a [^<]*\bhref=/\n&/g' "$fic" | sed -rn 's@.*<a [^<]*\bhref="(/[^#"]*)".*@\1@p' index.html

Hors ligne

#49 Le 29/09/2019, à 15:04

LeoMajor

Re : Expressions régulières

bonjour,

tu utilises lynx -dump; un grand classique

:~$ unset urls; declare -a urls; while read -r u; do if [[  $u =~ ^https ]]; then urls+=("$u"); fi; done < <(lynx -dump -listonly -nonumbers https://www.publicitem.pro)
:~$ for u in "${!urls[@]}"; do echo "$u,${urls[$u]}"; done
0,https://www.publicitem.pro/#main-content
1,https://www.publicitem.pro/
2,https://www.publicitem.pro/services
3,https://www.publicitem.pro/portfolio
4,https://www.publicitem.pro/agence-communication
5,https://www.publicitem.pro/blog
6,https://www.publicitem.pro/devis-gratuit
7,https://www.publicitem.pro/contact
8,https://www.publicitem.pro/
9,https://www.publicitem.pro/publicitem-vous-rappelle
10,https://www.publicitem.pro/devis-gratuit
11,https://www.publicitem.pro/services/agence-communication
12,https://www.publicitem.pro/services/agence-web
13,https://www.publicitem.pro/services/imprimerie-en-ligne-alsace
14,https://www.publicitem.pro/services/studio-graphique
15,https://www.publicitem.pro/services/photographe
16,https://www.publicitem.pro/services/redactionnel
17,https://www.publicitem.pro/user/password
18,https://www.facebook.com/publicitem/
19,https://twitter.com/publicitem
20,https://www.linkedin.com/company/publicitem
21,https://www.pinterest.fr/agencepublicitem/
22,https://www.publicitem.pro/conditions-generales-vente-mentions-legales
23,https://www.addtoany.com/share#url=https%3A%2F%2Fwww.publicitem.pro%2Fagence-communication-web&title=Agence%20de%20communication%20Strasbourg%20Saverne%20en%20Alsace

Hors ligne

#50 Le 29/09/2019, à 18:26

abecidofugy

Re : Expressions régulières

Ok, je viens de regarder le code de ma page html, et je constate un truc : pour les balises des media sociaux, le href n’existe pas dans la version récupérée avec wget.

J’ai ce code-là :

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a><a class="a2a_button_pinterest"></a> <a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.publicitem.pro%2Fagence-communication-web&amp;title=Agence%20de%20communication%20Strasbourg%20Saverne%20en%20Alsace"></a>

Bizarre, non ?

Dernière modification par abecidofugy (Le 29/09/2019, à 18:30)

Hors ligne