Python 用BeautifulSoup抓取Facebook好友

Python 用BeautifulSoup抓取Facebook好友,python,facebook,web-scraping,beautifulsoup,Python,Facebook,Web Scraping,Beautifulsoup,我已经用BeautifulSoup做了一些基本的网页抓取。在我的下一个项目中,我选择了从facebook上抓取指定用户的好友列表。问题是,facebook只允许您在登录后查看好友列表。所以我的问题是,我能绕过它吗?如果不能,我能让BeautifulSoup表现得像登录了一样吗 这是我的密码: from urllib.request import urlopen from bs4 import BeautifulSoup url = input("enter url: ") try: p

我已经用BeautifulSoup做了一些基本的网页抓取。在我的下一个项目中,我选择了从facebook上抓取指定用户的好友列表。问题是,facebook只允许您在登录后查看好友列表。所以我的问题是,我能绕过它吗?如果不能,我能让BeautifulSoup表现得像登录了一样吗

这是我的密码:

from urllib.request import urlopen
from bs4 import BeautifulSoup

url = input("enter url: ")

try:
   page = urlopen(url)
except:
   print("Error opening the URL")

soup = BeautifulSoup(page, 'html.parser')
content = soup.find('div', {"class": "_3i9"})

friends = ''
for i in content.findAll('a'):
    friends = friends + ' ' +  i.text

print(friends)
问题是,facebook只允许你在以下情况下查看好友列表: 您已登录

您可以使用Selenium来克服这一问题。您需要它来验证您自己,然后才能找到用户。一旦找到它,您可以通过两种方式继续:

您可以使用driver.page\u source获取HTML源代码,并从中使用Beatiful Soup 使用Selenium为您提供的方法来收集朋友
BeautifulSoup不要求您使用URL。相反:

查看好友列表 将包含列表的父标记复制到新文件ParentTag.html 以字符串形式打开文件,并将其传递给BeautifulSoup 使用openpath/to/ParentTag.html,将=utf8编码为html: soup=BeautifulSouphtml,html.parser 然后,你做了一碗汤。
好的,我一定要试试。如果我有任何问题。我会把它们留在这里。Facebooks服务条款不允许你刮它们。如果你没有登录,它们就不能刮。然后他们就不出现了。我希望,如果我让我的脚本表现得好像它已登录,我将能够刮它们…正如我所说的。Facebooks服务条款不允许你刮脸书。如果您的脚本登录并删除,用户将被禁止。