Как видите, мой код не очень сложен, но по какой-то причине всякий раз, когда я пытаюсь использовать .find_all или какой-либо вариант find_all, я получаю ошибку NoneType при использовании его без «супа». Я знаю, что это не проблема 404, потому что я могу нормально напечатать «таблицу». Я пробовал удалять и переустанавливать красивый суп, а также варианты импорта красивого супа или bs4. Я пробовал использовать запросы вместо urllib2.
Я также пытался использовать lxml, но он не так хорошо работает с сайтом, который я удаляю.
from BeautifulSoup import BeautifulSoup
url = urllib2.urlopen(
"http://www.adviserinfo.sec.gov/IAPD/content/viewform/adv/Sections/iapd_AdvScheduleASection.aspx?ORG_PK=100&FLNG_PK=0515B1FC0008018205B8D80005C8A651056C8CC0"
).read()
soup = BeautifulSoup(url)
table = soup.find(
"table",id="ctl00_ctl00_cphMainContent_cphAdvFormContent_ScheduleAPHSection_ctl00_ownersGrid"
)
for row in table.find_all("tr"):
cells = row.find_all('td')
print cells
Error = for row in table.find_all("tr"):
TypeError: 'NoneType' object is not callable
find_all
— это новое имя, используемое в версии 4, заменяющееfindAll
. Однако вы очень, очень хотите обновиться до 4:pip install beautifulsoup4
, затемfrom bs4 import BeautifulSoup
. - person Martijn Pieters   schedule 09.06.2016