Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 22, 2016 06:55:05

Cruzlik
Зарегистрирован: 2016-04-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

BeautifulSoup ошибка

py.user.next
FishHook
все верно нужно было так

rows = table.findAll('tr')

спасибо огромное .

Офлайн

#2 Апрель 22, 2016 07:39:57

Cruzlik
Зарегистрирован: 2016-04-22
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

BeautifulSoup ошибка

а в реальном проекте не работает.
нашел строку в которой нет тега <b> и из-за этого ошибка.

как исправить?

#!/usr/bin/env python3
import urllib.request
import requests
from bs4 import BeautifulSoup
import re
rows = ['<html><head><title>Page title</title></head>'
		'<table class="adv_table">'
		'<tr>'
		'<td> Аэропрот0</td>'
		'<td> <b> 8 (555) 555-55-88 <br/> 8 (555) 555-31-88</b></td>' 
		'<td>ЭКРАН</td>' 
		'<td> </td>'
		'</tr>'
		'<tr>'
		'<td> Аэропрот1</td>'
		'<td> 8 (777) 777-77-77 <br/> 8 (555) 999-31-88</td>' 
		'<td>ЭКРАН</td>' 
		'<td> </td>'
		'</tr>'
		'<tr>'
		'<td> Аэропрот2</td>'
		'<td> <b> 8 (888) 888-88-88 <br/> 8 (999) 999-99-88</b></td>' 
		'<td>ЭКРАН</td>' 
		'<td> </td>'
		'</tr>'
		
		'</table></html>']
soup = BeautifulSoup(''.join(rows))
table = soup.find('table', class_='adv_table')
rows = table.findAll('tr')
for row in rows:
	cols = row.findAll('td')
	print(cols[1].b.text)

Офлайн

#3 Апрель 22, 2016 07:50:35

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

BeautifulSoup ошибка

Cruzlik
Слушай, за тебя каждую запятую исправлять теперь что ли?
Почитай документацию, там всё есть.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version