Нет вывода после использования запросов и BeautifulSoup в PyCharm - PullRequest
0 голосов
/ 12 апреля 2020

Я пытался получить заголовки с сайта newyorktimes. У меня есть 2 вопроса, вопрос 1: это мой код, но я ничего не даю, кто-нибудь знает, что мне нужно изменить?

import requests
from bs4 import BeautifulSoup

url = 'https://www.nytimes.com'
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")
a = soup.find_all(class_="balancedHeadline")
for story_heading in a:
    print(story_heading)

Мой второй вопрос: как HTML не то же самое для всех заголовков (есть другой класс для больших заголовков и меньших, например), как бы я взял все эти разные классы в моем коде и дал бы мне все заголовки в качестве вывода?

Заранее спасибо!

1 Ответ

0 голосов
/ 12 апреля 2020

BeautifulSoup - надежная библиотека для анализа. Но, в отличие от вашего браузера, он не оценивает javascript. Элементы с классом balancedHeadline, который вы искали, отсутствуют в загруженном документе HTML. Они добавляются позже, когда ресурсы загружены и javascript функции запущены. Вы не сможете найти такой класс, используя вашу текущую технику.

Ответ на ваш второй вопрос находится в документации. Регулярное выражение или функция будут работать, но вы можете обнаружить, что передача в список проще для вашего приложения.

...