Как преобразовать объекты тегов Beautiful Soup 4 в строку?

#xml #web-scraping #beautifulsoup #casting

#xml #веб-очистка #beautifulsoup #Кастинг

Вопрос:

Я довольно новичок в веб-обработке, и я анализирую XML-файл с помощью Beautiful Soup 4. Я хочу использовать строковую форму URL-адресов, которые охватываются тегом link: < ссылка> https://www.whateveriwant.com <ссылка>.

Вот что я сделал до сих пор:

 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
  

Проблема в том, что когда я перебираю bsUrlsList и печатаю каждый элемент, он печатает список [,] , в отличие от фактической строковой версии ссылки.

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

Большой вопрос: как мне преобразоватьТег’> в строку, чтобы я мог в конечном итоге получить список URL-адресов строк, которые я извлек из XML-файла?

Ответ №1:

 goal = list(soup.select("link").strings)
  

Или

 goal = [x.text for x in soup.findAll("link")]
  

Комментарии:

1. Спасибо за ответ. Это решение вернуло список пустых строк. Вот тестовый XML-файл, из которого я извлекаю ссылки: news.google.com/rss?hl=en-USamp;gl=USamp;ceid=US:en как я могу извлечь из этого строковую версию ссылки?