Pour le moment, disons que c'est le contenu que j'ai raclé: Je souhaite créer une liste d'URL qui ajout de chacune de la ville à l'URL du Master:
et je veux le faire comme sur la sortie: P> https://nomadlist.com code> p> https://nomadlist.com/taipei,
https://nomadlist.com/lisbon,
https://nomadlist.com/buenos-aires,
https://nomadlist.com/budapest
4 Réponses :
@kai Jinglebell Cheng est ce que vous recherchez?
Nouvelle réponse après une question mise à jour ci-dessous h2>
nomad_str = '''["<a href="" itemprop="url" title="Taipei for Digital Nomads">Taipei</a>",
"<a href="" itemprop="url" title="Lisbon for Digital Nomads">Lisbon</a>",
"<a href="" itemprop="url" title="Buenos Aires for Digital Nomads">Buenos Aires</a>",
"<a href="" itemprop="url" title="Budapest for Digital Nomads">Budapest</a>"]'''
nomad_str=nomad_str.replace('"<a', "'<a")
nomad_str=nomad_str.replace('a>"', "a>''")
nomad_str=nomad_str.replace("[\'", '')
nomad_str=nomad_str.replace("'\']", '')
nomad_list = nomad_str.split(',')
base_link = 'https://nomadlist.com/'
for nomad in nomad_list:
city = nomad.split(">")[1].split("<")[0].replace(' ', '-').lower()
full_link = f'{base_link}{city}'
print(full_link)
Merci! Mais ma liste ne contient pas de citation unique, savez-vous comment puis-je les ajouter avant de procéder à votre devis?
@Kaijinglebellcheng Si vous avez gratté les données, cela ne devrait pas être au format dans votre question? Sinon, il est impossible d'assigner comme une liste. Si vous aviez besoin de manipuler d'abord des données HTE sur la liste, vous pouvez mettre des citations autour du support et commencer à manipuler les données et à le transformer de là, mais je ne vois pas le point de l'exercice. Si vous avez gratté les données, je ne pense pas que cela devrait apparaître comme ça? Mais je pourrais avoir tort. J'ai changé ma réponse, sans distinction.
en JavaScript, vous pouvez faire quelque chose comme ça. Vous pouvez utiliser la même logique et modifier la syntaxe vers Python.
p>
var baseURL = 'https://nomadlist.com/';
var urls = [];
var strings = ['<a href="" itemprop="url" title="Taipei for Digital Nomads">Taipei</a>','<a href="" itemprop="url" title="Lisbon for Digital Nomads">Lisbon</a>',
'<a href="" itemprop="url" title="Buenos Aires for Digital Nomads">Buenos Aires</a>',
'<a href="" itemprop="url" title="Budapest for Digital Nomads">Budapest</a>'];
strings.forEach( x => {
urls.push(baseURL + x.replace(/<(?:.|\n)*?>/gm, '').toLowerCase().replace(" ","-"));
});
console.log(urls);Je pense qu'il demande des solutions Python.!
@Juhilsomaiya j'ai écrit que sur le dessus
Voici la solution, utilisez le package Python BS4.
['https://nomadlist.com/taipei', 'https://nomadlist.com/lisbon', 'https://nomadlist.com/buenos-aires', 'https://nomadlist.com/budapest']
Merci! Mais ma liste ne contient pas de citation unique, savez-vous comment puis-je les ajouter avant de procéder à votre devis?
Si vous avez utilisé BeauXoup, je pense qu'il est préférable de traiter les données directement à partir de magnifiquesoups que de convertir d'abord une liste comme suit:
from bs4 import BeautifulSoup
html_string = '''
<a href="" itemprop="url" title="Taipei for Digital Nomads">Taipei</a>
<a href="" itemprop="url" title="Lisbon for Digital Nomads">Lisbon</a>
<a href="" itemprop="url" title="Buenos Aires for Digital Nomads">Buenos Aires</a>
<a href="" itemprop="url" title="Budapest for Digital Nomads">Budapest</a>
'''
base_url = 'https://nomadlist.com'
data = BeautifulSoup(html_string,"html.parser")
filtered_data = data.find_all("a")
url_list = [base_url+"/"+item.get_text().replace(" ","-").lower() for item in filtered_data]
print(url_list)
Est-ce quelle liste de cordes les données grattées?
Utilisez une belle soupe pour analyser le HTML et obtenir le texte des ancres. Ensuite, il suffit de le concerner à l'URL Mater.
@Kai, vérifiez ma réponse