我试图制作一个程序来获取Instagram上的关注列表。这是代码:
import urllib.request
from bs4 import BeautifulSoup
import requests
def get_html(url):
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
response = requests.get(url, headers=headers)
return response.text
def parse(html):
soup = BeautifulSoup(html, "html.parser")
fol = soup.find_all('a', class_='_2g7d5')
print(fol)
parse(get_html('https://www.instagram.com/any_user/following/'))
但是我得到一个空列表。解析任何其他网站时,代码可以正常工作。怎么了? 附:这个班有一个非常奇怪的名字
答案 0 :(得分:0)
这不会起作用,因为您需要成为Instagram的有效授权用户才能访问它。在您的代码中,没有发生身份验证。因此,从Instagram的观点来看,你只是一个试图访问他们数据的幽灵。因此,他们不会让你进入。谷歌使用Instagram包装的一些第三方python包装。
首次谷歌搜索引导我here。 此外,你不能刮这样的网站。说实话是违法的。您需要将他们的开发人员API与有效令牌一起使用。