2014-01-07 37 views
4

我可以使用Facebook Graph API獲取組成員列表。最簡單的方法是轉到Graph API Explorer並執行形式爲{group_id}/members的GET請求。是否有類似的方式獲得成員的加入日期以及他們受邀的人?使用Facebook API列出組成員的加入日期和邀請人

relevant Graph API doc似乎沒有提到它。但我知道這些信息是由Facebook存儲的,因爲可以通過Facebook本身列出所有的小組成員和他們的受邀者。有沒有辦法通過API獲取這些信息?

編輯:在FQL groupgroup_member API也沒有。

+0

您是否找到了解決方案? –

回答

0

它確實存儲在Facebook中並被檢索用於內部API。但對於Graph API,無法獲取此信息。

所有可用於group_member的各字段SELECT column_name FROM column WHERE table_name = "group_member"

1

上市雖然這個信息不可用的API,你可以通過使用Selenium刮成員頁面得到它。 首先,實例化一個驅動器,並用它來獲取成員頁:

driver.gethttps://www.facebook.com/groups/your group number/members

然後,查找成員信息:

containers = driver.find_elements_by_tag_name('td')

最後,通過網絡元素迭代,提取文本和解析結果列表中加入日期信息:

member_info = container.text.split('\n') 
name = member_info[0] 
member_since = member_info[-1] 

您仍然必須將此信息映射到用戶標識符,您可以通過在容器中查找另一個元素並使用REGEX來執行此操作。

`def parse_id(self, container, name): 
     hovercard = container.find_element_by_link_text(name).get_attribute('data-hovercard') 
     regex_id = re.compile('php\?id=(\d*)') 
     member_id = regex_id.search(hovercard).group(1) 
     return member_id`