Как, используя Python и PyQuery (+ requests) извлечь текстовое содержимое тегов двух типов (

и

), находящихся внутри определенного тега

Возник такой вопрос - парсю страницы с РБК, конкретно вот эту, например:

https://www.rbc.ru/business/10/09/2020/5f589b189a794752254570fb

И такой вопрос - можно ли с помощью PyQuery (уже использую ее) выкачать текстовое содержимое конкретных тегов, лежащих внутри тега с itemprop = articleBody

На данной странице это Я хочу вытащить текст новости, но при этом не вытягивать вставки со ссылками на другие статьи.

В обычном случае (некоторую реализацию я уже сделал) я извлекал текст новости таким кодом:

import requests
from pyquery import PyQuery as pq

news_file = pq(requests.get(link).text)

text = news_file.find("div.article__text").find("p").text()

Причем это работало даже для указанной выше страницы, т.е. когда даже не

а

Текст новости выкачивался нормально.

Но на этой странице в тексте самой новости, помимо прочего, есть еще заголовки, например

"Каким будет Северный морской путь к 2030 году"

И вот такие заголовки уже этим кодом не парсятся, потому что находятся внутри тегов , а не

. Соответственно надо извлечь текст из всех тэгов типа

и , находящихся внутри тега с атрибутом itemprop = "articleBody", с помощью PyQuery, причем в том же порядке, в котором они встречаются в документе, а не так, что сначала все

, а потом все .

Также еще вопрос - как с помощью того же PyQuery извлечь значение атрибута content вот в таком тэге

или

Сейчас я беру дату и время с помощью такого кода:

for element in news_file('*[itemprop="datePublished"]'):
            date, time = element.attrib['content'][:-6].split('T')

Но может есть что-то поизящней, плюс - хотелось бы уметь вытаскивать атрибуты у тэгов с конкретными значениями каких-либо других атрибутов.

Заранее благодарен.


Ответы (0 шт):