• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Нужна помощь в парсинге

Алёна

Well-known member
09.05.2020
86
0
BIT
0
Доброго времени суток читающим
Возникла проблема, а вместе с ней и вопрос: возможно ли спарсить модель RDF?
Для парсинга используется язык python и его библиотеки bs4, lxml и requests
Вот код:
1591123417484.png

Как можно догадаться, пишу программу, узнающую дату регистрации пользователей вк
Но вот беда-данные о регистрации размещены в модели RDF:
1591123995944.png

Возникает резонный вопрос:
Как выудить нужные данные из RDF-овской модели?
Очень прошу помочь!
 

InetTester

Green Team
21.10.2018
308
43
BIT
5
Может есть решение более корректное, почему не можешь просто в цикле построчно при этом если в строке есть 'created' то делать .split("\"")[1]

Код:
>>> "<ya:created dc:date=\"2006-09-23T20:27:12+03:00\"/>".split("\"")[1]
'2006-09-23T20:27:12+03:00'
 

Алёна

Well-known member
09.05.2020
86
0
BIT
0
Может есть решение более корректное, почему не можешь просто в цикле построчно при этом если в строке есть 'created' то делать .split("\"")[1]

Код:
>>> "<ya:created dc:date=\"2006-09-23T20:27:12+03:00\"/>".split("\"")[1]
'2006-09-23T20:27:12+03:00'

Тут есть такой еще нюанс: чтобы спарсить строку из документа-нужно спарсить документ, в нашем случае-RDF
А скрипт, который я использую, парсит только xml-содержимое, вот что получается на выходе:
1591174441768.png
 

Алёна

Well-known member
09.05.2020
86
0
BIT
0
Python:
    b = bs4.BeautifulSoup(request.text, 'html.parser')
    print(b.find("ya:created")['dc:date'])

Спасибо большое! Сработало)
Только я не понимаю, почему
Если конкретно, не понимаю, почему применяется html.parser (хотела бы взглянуть на документацию по нему, или на сравнение с другими парсерами), он же нужен для парсинга html и xhtml страниц
Второй вопрос вытекает из первого: какая разметка у данной страницы? (https://vk.com/foaf.php?id=)
И не до конца понятен синтаксис второй строчки у вас
Конкретно не очень понятно использование аргументов у метода find
 

InetTester

Green Team
21.10.2018
308
43
BIT
5
Спасибо большое! Сработало)
Только я не понимаю, почему
Если конкретно, не понимаю, почему применяется html.parser (хотела бы взглянуть на документацию по нему, или на сравнение с другими парсерами), он же нужен для парсинга html и xhtml страниц
Второй вопрос вытекает из первого: какая разметка у данной страницы? (https://vk.com/foaf.php?id=)
И не до конца понятен синтаксис второй строчки у вас
Конкретно не очень понятно использование аргументов у метода find
1. Нашел нужную строку
2. Получил значение необходимого ее параметра.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!