Получить название профиля Instagram и дату публикации с помощью Python

#python-3.x #beautifulsoup #instagram

#python-3.x #beautifulsoup #Instagram

Вопрос:

Я нахожусь в процессе обучения python3 и пытаюсь решить простую задачу. Я хочу получить название учетной записи и дату публикации по ссылке instagram.

 import requests
from bs4 import BeautifulSoup

html = requests.get('https://www.instagram.com/p/BuPSnoTlvTR')
soup = BeautifulSoup(html.text, 'lxml')
item = soup.select_one("meta[property='og:description']")
name = item.find_previous_sibling().get("content").split("•")[0]
print(name)
  

Этот код иногда работает со ссылками, подобными этойhttps://www.instagram.com /kingtop
Но мне нужно, чтобы это работало также с публикацией изображения, подобного этомуhttps://www.instagram.com/p/BuxB00KFI-x

Это все, что я мог сделать, но это не работает. И я также не могу получить дату. У вас есть какие-нибудь идеи? Я ценю любую помощь.

Комментарии:

1. Хейя, что бы ты хотела получить?

Ответ №1:

Я нашел способ получить название учетной записи. Теперь я пытаюсь найти способ получить дату загрузки

 import requests
from bs4 import BeautifulSoup
import urllib.request
import urllib.error
import time
from multiprocessing import Pool
from requests.exceptions import HTTPError

start = time.time()

file = open('users.txt', 'r', encoding="ISO-8859-1")
urls = file.readlines()
for url in urls:
url = url.strip ('n')
try:
    req = requests.get(url)
    req.raise_for_status()
except HTTPError as http_err:
    output = open('output2.txt', 'a')
    output.write(f'не найденаn')  
except Exception as err:
    output = open('output2.txt', 'a')
    output.write(f'не найденыn')  
else:
    output = open('output2.txt', 'a')
    soup = BeautifulSoup(req.text, "lxml")
    the_url = soup.select("[rel='canonical']")[0]['href']
    the_url2=the_url.replace('https://www.instagram.com/','')
    head, sep, tail = the_url2.partition('/')
    output.write (head 'n')