Добавить пользовательский атрибут без кавычек - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь добавить атрибут в тег HTML без кавычек, поэтому я могу добавить косую черту перед кавычками и добавить кавычки вручную.

Атрибут src должен оставаться пустым, я не могу его переименовать.

Мой текущий код выглядит следующим образом.

data = open('data.sql')
soup = BeautifulSoup(data, 'html.parser')

for img in soup.find_all(name="img"):

    #get src
    src = img['src']

    # clear src
    img['src'] = ""

    # add new attribute
    img.attrs["data-src"] = src
    print(img.attrs["data-src"])


#save soup
with open('db.sql', "w") as file:
    file.write(str(soup))

Мой результат (после сохранения в db.sql):

<img src="" data-src='\"/folder/img/image.jpg\"'>

Что я ищу (без одинарных кавычек):

<img src=\"/folder/img/image.jpg\">

Я пытаюсь:
Загрузите в db.sql с помощью Bs4
Установите для атрибута src-data значение src
Очистить значение атрибута src
Сохранить файл в db2.sql

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Решение проблемы состояло в том, чтобы пройтись по строкам базы данных, получить столбец с HTML-кодом внутри и создать суп (Bs4) из этого.

0 голосов
/ 05 марта 2019

Используйте del для удаления атрибутов:

for img in soup.find_all(name="img"):
    src = img['src']
    del img['src']
    img.attrs['data-src'] = src
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...