Как удалить несколько пустых строк при очистке с Beautifulsoup - PullRequest
1 голос
/ 03 апреля 2019

мой код выводит несколько пустых разрывов строк. Как удалить все пустое пространство?

from bs4 import BeautifulSoup
import urllib.request
import re
url = input('enter url moish')
page = urllib.request.urlopen(url)
soup = BeautifulSoup(page,'lxml')
all = soup.find_all('a', {'class' : re.compile('itemIncludes')})
for i in all:
          print(i.text)

код вывода:

Canon EOS 77D DSLR Camera (Body Only)



LP-E17 Lithium-Ion Battery Pack



LC-E17 Charger for LP-E17 Battery Pack

желаемый вывод:

Canon EOS 77D DSLR Camera (Body Only)
LP-E17 Lithium-Ion Battery Pack
LC-E17 Charger for LP-E17 Battery Pack

Спасибо!

Ответы [ 3 ]

1 голос
/ 03 апреля 2019

Вы можете удалить пустые строки перед печатью:

items = [item.text for item in all if item.text.strip() != '']
0 голосов
/ 03 апреля 2019
for i in all:
           items = ' '.join(i.text.split())
           print(items)

приведенный выше код удаляет все пробелы

0 голосов
/ 03 апреля 2019

Вы можете использовать регулярное выражение для фильтрации вывода, например:

import re
text = i.text.strip()
if not re.search(r"^\s+$", text): # if not a bank line
    print(text)

Примечание:

  1. Это просто исправление для вывода, так как проблема может быть связана с find_all аргументы, которые я не могу проверить.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...