Удалить повторяющиеся слова подряд Python - PullRequest
0 голосов
/ 11 июня 2018

Оказывается, я использую BeautifulSoup и при фильтрации в таблице, я получил данные следующим образом:

["<td>9111/2018 2222/18</td>", '<td style="font-size: small;">AINDUSTRIAL </td>', 
 "<td>18-05-2018</td>", "<td>Juz. 5 Posá<td>POSA</td></td>", 
 "<td>POSA</td>"]

Мне нужно извлечь только "<td>", который говорит "Juz 5. Posá" (хотя для того, что я делаю, название будет отличаться) но мне просто нужен этот столбец.Я оставляю код, так как мне удалось сделать вывод:

Juz. 5 PosáPOSA

Мне просто нужен Juz.5 Posá, но, к сожалению, я ударил другое слово.Тогда код, конечно, большое спасибо!

soup = BeautifulSoup(html.text,from_encoding="utf-8")

table = soup.findChildren('table')[0]
for row in table.find_all("tr")[1:]:
    col = row.find_all("td")
    print(col[3].text.replace('\n',''))
    if not cells:
        continue

1 Ответ

0 голосов
/ 11 июня 2018

Не уверен, что это то, что вы ищете, но здесь есть два решения.

Решение # 1

Удалите символы "<,>, /, td"

for i in range(len(x)):
  x = x.replace("<", "")
  x = x.replace(">", "")
  x = x.replace("/", "")
  x = x.replace("td", "")
print(x)

ИЛИ

Решение # 2

Сначала выберите элемент списка [3]

x = x[3]

Выберите первые 4 символа из строки, поскольку они начинаются с

x = x[4:]

Затем найдите индекс «<», потому что следующий тег td будет начинаться с <, и удалите все после <index </p>

print(x[:x.index("<")])
...