使用Python获取Instagram个人资料的名称和发布日期

时间:2019-03-09 21:05:37

标签: 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 个答案:

答案 0 :(得分:0)

我找到了一种获取帐户名称的方法。现在,我试图找到一种获取上传日期的方法

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')