Beautifulsoup find_All命令不起作用

时间:2020-05-27 20:27:55

标签: python beautifulsoup

我有一些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很多次了,我敢肯定我很想念这件事有些愚蠢,但是在过去的两个小时里,我一直在用力撞墙,似乎无法确定出来。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我的理解是Python区分大小写。因此,我认为您需要使其成为soup.find_all而不是All。下面的代码以有效的网址运行。

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