Beautifulsoap.find_all не будет анализировать этот конкретный тег (html) - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь проанализировать HTML, который выглядит следующим образом:

<tbody>
  <tr id="row1" class="background-off-white"></tr>
    <td id="column_packet_nm__1">Text to be captured #1</td>
  <tr id="row2" class="background-off-white"></tr>
    <td id="column_packet_nm__2">Text to be captured #2</td>
  <tr id="row3" class="background-off-white"></tr>
    <td id="column_packet_nm__3">Text to be captured #3</td>
</tbody>

с этим кодом (python):

soup = bs(main_page, 'html.parser')
change = soup.find_all('td', {'id':'column_packet_nm__1'})
#print only first record among all, just for a confirmation
print(change[0].text)

, но проблема в том, что это дает мне ошибкукаждый раз, когда говорят, что «произошло исключение: TypeError, объект типа« Response »не имеет len ()», и я не уверен, что этот код будет перехватывать все эти 3 строки, пожалуйста, помогите ..

1 Ответ

0 голосов
/ 16 декабря 2018

Убедитесь, что main_page не является Response объектом (из запросов).Это должен быть текст строки объекта.Похоже, ваша main_page переменная является объектом Response запросов.

Итак, если у вас где-то есть что-то вроде этого:

main_page = requests.get(url)

Вы можете использовать .text:

soup = bs.BeautifulSoup(main_page.text, 'html.parser')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...