Как, используя 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 шт):
Возник такой вопрос - парсю страницы с РБК, конкретно вот эту, например:
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')
Но может есть что-то поизящней, плюс - хотелось бы уметь вытаскивать атрибуты у тэгов с конкретными значениями каких-либо других атрибутов.
Заранее благодарен.