我在這個 repo 中找到了這段代碼。https://github.com/adw0rd/instagrapi/blob/master/instagrapi/mixins/fbsearch.py
我想知道如何self.private_request()呼叫,因為沒有匯入并且private_request()沒有在這個類中定義。
from instagrapi.extractors import extract_location
class FbSearchMixin:
def fbsearch_places(self, query: str, lat: float = 40.74, lng: float = -73.94):
params = {
'search_surface': 'places_search_page',
'timezone_offset': self.timezone_offset,
'lat': lat,
'lng': lng,
'count': 30,
'query': query,
}
result = self.private_request("fbsearch/places/", params=params)
locations = []
for item in result['items']:
locations.append(extract_location(item['location']))
return locations
如果有人能解釋為什么以及如何做到這一點,我會很高興。
uj5u.com熱心網友回復:
此代碼不會呼叫fbsearch_places;只定義它。如果它在沒有定義的情況下呼叫它private_request,則會導致例外。
但是,如果有人進口此代碼,并使用這個類與其他地方級組合private_request 的定義,那么他們將能夠使用該fbsearch_places方法。
這就是“混入”的意思FbSearchMixin:應該在多重繼承中與另一個類結合使用的類。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/319255.html
