Je suis assez nouveau dans le grattage Web et j'analyse un fichier XML avec Beautiful Soup 4. Je veux extraire la forme de chaîne des URL qui sont englobées par la balise link : < link> https://www.whateveriwant.com < link>.

Voici ce que j'ai fait jusqu'à présent:

bs_content = bs(content, "lxml") # content is an entire XML file in one string
bsUrlsList = bs_content.find_all("link")  # gets all urls, fills a list with bs4 tag objs

Le problème est que lorsque je parcourt bsUrlsList et que j'imprime chaque élément, il imprime une liste de [,], par opposition à la version de chaîne réelle du lien.

for link in bsUrlsList:
  print(type(link)) # prints <class 'bs4.element.Tag'>

Grande question : Comment puis-je convertir en chaîne afin de pouvoir éventuellement avoir une liste d'URL de chaîne que j'ai extraites du fichier XML ?

1
Faraz Siddiqi 9 nov. 2020 à 03:22

1 réponse

Meilleure réponse
goal = list(soup.select("link").strings)

Ou

goal = [x.text for x in soup.findAll("link")]
0
αԋɱҽԃ αмєяιcαη 9 nov. 2020 à 00:55