Пишу парсер для Instagram. Повинен парсити підписників і відстежуваних в масиви. Порівнювати ці два масиви, щоб дізнатися на яких людей заданий користувач підписаний, які за ним не стежать (тобто хто не підписаний взаємно).
▼Код
import requests
from bs4 import BeautifulSoup
def get_html(url):
r = requests.get(url)
return r.text
def get_followers(url):
html = get_html(url + "followers/")
soup = BeautifulSoup(html, 'lxml')
blocks = soup.find('div', class_='isgrP').find_all('div', class_='uu6c_')
followers = []
for block in blocks:
follower = block.find('div', class_='d7ByH').find('a').get('href')
followers.append(follower)
return followers
def get_following(url):
html = get_html(url + "following/")
soup = BeautifulSoup(html, 'lxml')
blocks = soup.find('div', class_='isgrP').find_all('li')
following = []
for block in blocks:
follow = block.find('a', class_='FPmhX notranslate _0imsa ').get('href')
following.append(follow)
return following
def main():
url = "https://www.instagram.com/" + input("Введіть нікнейм: \n") + "/"
followers = get_followers(url)
following = get_following(url)
output = list(set(following) - set(followers))
for i in output:
print("https://www.instagram.com/" + i + "/")
if __name__ == '__main__':
main()
Видає помилку:
Traceback (most recent call last):
File "/home/eff1c/parser/instagram.py", line 43, in <module>
main()
File "/home/eff1c/parser/instagram.py", line 35, in main
followers = get_followers(url)
File "/home/eff1c/parser/instagram.py", line 13, in get_followers
blocks = soup.find('div', class_='isgrP').find_all('div', class_='uu6c_')
AttributeError: 'NoneType' object has no attribute 'find_all'