Команда Beautifulsoup find_All не работает - PullRequest
0 голосов
/ 27 мая 2020

У меня есть html, где немного похоже на

<div class="large-12 columns">
 <div class="box">
  <div class="header">
   <h2>
    Line-Ups
   </h2>
  </div>
  <div class="large-6 columns aufstellung-box" style="padding: 0px;">
   <div class="unterueberschrift aufstellung-unterueberschrift-mannschaft">
    <div>
     <a class="vereinprofil_tooltip" href="/fc-portsmouth/startseite/verein/1020/saison_id/2006" id="1020">
      <img alt="Portsmouth FC" class="" src="https://tmssl.akamaized.net/images/wappen/verysmall/1020_1564722280.png?lm=1564722280" title=" "/>
...........
 <div class="large-6 columns" style="padding: 0px;">
   <div class="unterueberschrift aufstellung-unterueberschrift-mannschaft aufstellung-bordertop-small">
    <div>
     <a class="vereinprofil_tooltip" href="/fc-arsenal/startseite/verein/11/saison_id/2006" id="11">
      <img alt="Arsenal FC" class="" src="https://tmssl.akamaized.net/images/wappen/verysmall/11_1400911988.png?lm=1400911994" title=" "/>
     </a>
    </div>
    <div>
     <nobr>
      <a class="sb-vereinslink" href="/fc-arsenal/startseite/verein/11/saison_id/2006" id="11">
       Arsenal FC

Ключ здесь в том, что <div class="large-6 появляется дважды, и это то, на чем я пытаюсь разбить.

Код, который я использую, - это просто boxes = soup.find_All("div",{'class',re.compile(r'^large-6 columns')}), однако он ничего не возвращает.

Я уже много раз успешно использовал BeautifulSoup, и я уверен, что это что-то глупое, что я меня нет, но я бился головой о стену последние 2 часа и, кажется, не могу этого понять. Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 27 мая 2020

Насколько я понимаю, Python чувствителен к регистру. Таким образом, я думаю, вам нужно сделать это soup.find_all, а не All. Приведенный ниже код работает с рабочим URL.

url = "https://####.###"

import requests
from bs4 import BeautifulSoup
r = requests.get(url)
coverpage = r.content
soup = BeautifulSoup(coverpage, 'html5lib')

test = soup.find_all("a")
print(test)

Когда я превратил all в All, он сломался со следующей ошибкой:

test = soup.find_All("a")
TypeError: 'NoneType' object is not callable
...