Попытка получить содержимое span в Python с помощью BeautifulSoup - PullRequest
0 голосов
/ 26 февраля 2020
from bs4 import BeautifulSoup

url = 'C:\\Users\\Zandrio\\Documents\\Python-Selexion\\HTML-localhost\\Selexion.html'

page = open(url)
soup = BeautifulSoup(page.read(), features="lxml")
prettify = soup.prettify
Model = "".join([div.text for div in soup.find_all('div', {'class' : 'title-options'})])
print(Model)

Вывод:

PS C:\Users\Zandrio> & C:/Users/Zandrio/AppData/Local/Programs/Python/Python38/python.exe c:/Users/Zandrio/Documents/Requests/selexion.py

                                        SQQE55Q90R

                    Merk:
                    Samsung                  Afdrukken

HTML:

<div class="title-options">
<span>
 SQQE55Q90R
</span>
<span>
  Merk: Samsung                
</span>
<span class="print"> <a href="/nl/pr/samsung-qled-qe55q90r/product-sheet" class="product-file-pdf" target="_blank" title="Afdrukken">Afdrukken</a>
</span>
</div>

В данном случае я просто хочу номер модели, то есть SQQE55Q90R. Пожалуйста, предложите любое решение.

Ответы [ 2 ]

1 голос
/ 26 февраля 2020
from bs4 import BeautifulSoup
url = 'C:\\Users\\Zandrio\\Documents\\Python-Selexion\\HTML-localhost\\Selexion.html'

page = open(url)
soup = BeautifulSoup(page.read(), features="lxml")
div = soup.body.find('div', attrs={'class': 'title-options'})
model_number = div.span.text.strip()  # text of first span

print(model_number)

0 голосов
/ 26 февраля 2020
from bs4 import BeautifulSoup

path = 'C:\\Users\\Zandrio\\Documents\\Python-Selexion\\HTML-localhost\\Selexion.html'

with open(path) as f:
    content = f.read()
soup = BeautifulSoup(content, 'html.parser')

divs = soup.find_all('div', {'class':'title-options'})
for div in divs:
    spans = div.find_all('span')
    sp1, sp2, sp3 = spans
    print(sp1.text.strip())
    print(sp1.text.strip())
    print(sp1.text.strip())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...