Попытка удалить формат html из исходного кода в DataFrame

#python #html #string

#python #HTML #строка

Вопрос:

У меня есть фрейм данных, содержащий источник для твитов. Исходный код находится в следующем формате:

 <a href="http://twitter.com/download/iphone" rel="nofollow">Twitter for iPhone</a>
  

Я пытаюсь найти способ удалить html и сохранить URL. Я не очень хорошо знаком с регулярными выражениями и не могу найти решение.
любая помощь была бы отличной.

Ответ №1:

Ответ №2:

Сначала вы можете получить URL-адрес, превратив тег в объект BeautifulSoup. Если это уже объект BeautifulSoup, вы можете применить это напрямую

 .find("a").get("href")
  

Если нет, то вы можете сделать его объектом BeautifulSoup.

 from bs4 import BeautifulSoup #pip install beautifulsoup4

a_tag ='<a href="http://twitter.com/download/iphone" rel="nofollow">Twitter for iPhone</a>'

soup = BeautifulSoup(a_tag,"html5lib") #pip install html5lib
print(soup.find("a").get("href"))

#output - > http://twitter.com/download/iphone
  

Затем используйте эту функцию, чтобы удалить html, и текст останется

 import re

def remove_html_tags(raw_html):
    cleanr = re.compile("<.*?>")
    clean_text = re.sub(cleanr,'',raw_html)

    return clean_text


output = remove_html_tags(a_tag)
print(output)

#output -> Twitter for iPhone
  

Ответ №3:

Вы могли бы разделить ‘»‘. И возьмите второй элемент.

 .split('"')[1]
  

https://docs.python.org/3/library/stdtypes.html ?выделить = разделить#str.split