Я хотел бы извлечь все комментарии для более 1000 сообщений пользователей. До сих пор я экспериментировал с инструментом для скребка Instagram ((https://github.com/realsirjoe/instagram-scraper), но не добился успеха с l oop.
#pip install igramscraper
from igramscraper.instagram import Instagram
from time import sleep
import pandas as pd
instagram = Instagram()
post1 = instagram.get_media_comments_by_id('732428342682579959', 1000)
list=[]
for a in post1['comments']:
dict={}
dict['Comments'] = comment.text
list.append(dict)
pd.DataFrame(list)
Приведенный выше код позволяет мне получить 1000 комментариев из одного сообщения. Как мне сделать то же самое для каждого другого сообщения? Я попытался сохранить идентификаторы мультимедиа сообщений в списке, а затем l oop поверх списка, но это не сработало.
#extracting all the media posts
instagram.media = instagram.get_medias("cocacola", 1500)
c = [cc.__dict__ for cc in instagram.media]
import pandas as pd
df = pd.DataFrame(c)
df
#storing the media id into a list called "l"
l=[]
for a in df['link']:
d={}
d["Media_ID"]=get_media_id(a)
l.append(d)
#loop the media IDs to extract all instagram comments
list2=[]
i=0
for a in l:
dict2={}
dict2['Comments']=instagram.get_media_comments_by_id(l[i]['Media_ID'], 10000)
sleep(2)
list2.append(dict2)
list3=[]
for a in dict2['Comments']:
dict3={}
dict3['Comments'] = comment.text
list3.append(dict3)
i=i+1
TypeError: объект 'NoneType' не может быть подписан