Это странно.Я пытался соскрести с сайта, где конец тега <p>
равен <\\/p>
вместо </p>
.Очевидно, что каждый раз, когда я вызываю soup.find_all('p')
, он не возвращает никаких значений вместо None.У меня нет проблем, когда я пытаюсь a
или div
, поскольку оба являются хорошо структурированными тегами с конечными тегами </a>
и </div>
соответственно.Я не имею ни малейшего представления о том, как я могу решить эту проблему.
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup
url = 'http://www.gmanetwork.com/news/story/656223/money/economy/iphone-worries-weigh-on-wall-street'
page = urlopen(Request(url, headers={'User-Agent': 'Mozilla/5.0'}))
data = page.read()
soup = BeautifulSoup(data, 'html.parser')
print(soup.find_all('p'))
EDIT
Как и предполагалось, я обнаружил, что безголовые браузеры, такие как Splinter
, немного расстраивают, так как модуль требуетзависимость от браузера (поправьте меня, если я ошибаюсь).