как принимать пробелы, когда сайты по-разному форматируют - PullRequest
0 голосов
/ 19 апреля 2020

Я не уверен, что делать, когда веб-сайт меняет формат.

Обычно html сайта является первой партией HTML, но иногда это нижний бит HTML ниже, куда данные перемещаются и добавляет дополнительную строку данных таблицы.

<td>
<strong>Track Rating:</strong>
"GOOD"
</td>
<td>
<strong>Gross Time:</strong>
" 1:56.2"
</td>
<td>
<strong>Track Rating:</strong>
"GOOD"
</td>
<td></td>
<td>
<strong>Gross Time:</strong>
" 1:56.2"
</td>

Мой код выглядит так, когда я пытаюсь заполнить его как пустое, если он перемещается, однако я предполагаю, что он не работает из-за того, что я использую функцию findnext.

Я пытаюсь просто получить "ХОРОШО" и 1: 56.2 из кода

Есть идеи, когда я в тупике?

trackrating = tableoftimes.find(text="Track Rating:").findPrevious('td').contents[1]
                if not trackrating:
                    trackrating = ''
grosstime = tableoftimes.find(text="Track Rating:").findNext('td').contents[1]
                if not grosstime:
                    grosstime = ''

1 Ответ

0 голосов
/ 19 апреля 2020

Попробуйте это.

from simplified_scrapy import SimplifiedDoc,req,utils
html = """<td>
<strong>Track Rating:</strong>
"GOOD"
</td>
<td>
<strong>Gross Time:</strong>
" 1:56.2"
</td>"""
doc = SimplifiedDoc(html)
trackrating = doc.getElementByText('Track Rating:',tag='strong').nextText()
grosstime = doc.getElementByText('Gross Time:',tag='strong').nextText()
print(trackrating,grosstime)

Результат:

"GOOD" " 1:56.2"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...