Я прошел через большинство решений для подобных проблем, но не нашел того, что работает и, что еще важнее, не нашел объяснения, почему это происходит за пределами того, когда Javascript или что-то еще вызывается на сайте, который очищается.BeautifulSoup возвращает None, хотя элемент существует
Я пытаюсь очистить стол для игры «должностных лиц» с сайта: http://www.pro-football-reference.com/boxscores/201309050den.htm
мой код:
url = "http://www.pro-football-reference.com/boxscores/201309050den.htm"
html = urlopen(url)
bsObj = BeautifulSoup(html, "lxml")
officials = bsObj.findAll("table",{"id":"officials"})
for entry in officials:
print(str(entry))
Я просто печать на консоль на данный момент, но я получаю пустой список с findAll или None с поиском. Я также пробовал это с базовым html.parser без везения.
Может ли кто-нибудь с лучшим пониманием html рассказать мне о том, что отличается от этой веб-страницы? Заранее спасибо!
Этот элемент не существует. Посетите URL-адрес браузера и выберите «источник просмотра» или аналогичный. Найдите «официальный». Обратите внимание, что единственное, что выглядит как таблица с этим идентификатором, находится внутри комментария (т. Е. Внутри ''). –
то, что говорит сайту, чтобы показать таблицу официальных лиц? Я вижу элемент на сайте, когда я вхожу в Dev Tools, поэтому может ли он существовать для сайта, чтобы вытащить форму, но не в пределах сайтов html, которые видит BeautifulSoup? Кошка Шрёдингера? – scotche
Помимо этого, обязательно прочтите раздел 2 своих [условий использования] (http://www.sports-reference.com/termsofuse.html), относящихся к автоматическому извлечению данных. –