Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как создать код для парсера ссылок на фотографии из определённого поста «ВКонтакте»?

Алексей Шиляев Мыслитель (5309), на голосовании 1 час назад
Язык не имеет значения.

Нужен парсер ссылок фотографий из поста ВК.

Например, я вставляю ссылку на пост https://vk.com/wall-58509583_1347991 и мне выходят такие ссылки:
https://vk.com/wall-58509583_1347991?z=photo-58509583_458739935%2Fwall-58509583_1347991
https://vk.com/wall-58509583_1347991?z=photo-58509583_458739936%2Fwall-58509583_1347991
https://vk.com/wall-58509583_1347991?z=photo-58509583_458739937%2Fwall-58509583_1347991
https://vk.com/wall-58509583_1347991?z=photo-58509583_458739938%2Fwall-58509583_1347991
https://vk.com/wall-58509583_1347991?z=photo-58509583_458739939%2Fwall-58509583_1347991

Мне нейросеть «GigaChat» предложил код на Python, но он не сработал сколько бы раз я его не исправлял.

 import requests 
from lxml import html

def parse_post_links(post_url, output_file='photo_links.txt'):
# Создание сессии
session = requests.Session()

# Отправляем запрос на получение контента страницы
response = session.get(post_url)

# Парсим HTML документ
tree = html.fromstring(response.content)

# Извлекаем все ссылки на фотографии
photo_links = tree.xpath('//div[@class="page_block"]//a[starts-with(@href, "/wall-")]')

# Сохраняем ссылки в файл
with open(output_file, 'w', encoding='utf-8') as f:
for link in photo_links:
if '/photo-' in link.attrib['href']:
full_link = f'https://vk.com{link.attrib["href"]}\n'
f.write(full_link)

if __name__ == "__main__":
post_url = "https://vk.com/wall-58509583_1347991"
parse_post_links(post_url)
print("Ссылки на фотографии сохранены в файл 'photo_links.txt'.")

Файл сохраняется, но там пусто.
Голосование за лучший ответ
Умник \0 Ученик (173) 1 месяц назад
могу написать парсер нeдopого в tг @ larkliy
Похожие вопросы