Python机械化登录Facebook,使用beautifulshoup获取个人资料图片失败

Python机械化登录Facebook,使用beautifulshoup获取个人资料图片失败,python,facebook,python-2.7,beautifulsoup,mechanize,Python,Facebook,Python 2.7,Beautifulsoup,Mechanize,我正在尝试使用Python mechanize库登录Facebook,并使用BeautifulSoup获取Zuck的个人资料图片url。这是我的密码: import cookielib import mechanize from BeautifulSoup import BeautifulSoup # Browser br = mechanize.Browser() # Enable cookie support for urllib2 cookiejar = cookielib.LWPCo

我正在尝试使用Python mechanize库登录Facebook,并使用BeautifulSoup获取Zuck的个人资料图片url。这是我的密码:

import cookielib
import mechanize
from BeautifulSoup import BeautifulSoup

# Browser
br = mechanize.Browser()

# Enable cookie support for urllib2
cookiejar = cookielib.LWPCookieJar()
br.set_cookiejar(cookiejar)

# Broser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

#
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

# authenticate
br.open('https://www.facebook.com/')
br.select_form(nr=0)
# these two come from the code you posted
# where you would normally put in your username and password
br['email'] = 'my_email_address'
br['pass'] = 'my_password'
res = br.submit()

print "Success!\n"

url = 'https://www.facebook.com/zuck'
soup = BeautifulSoup(br.open(url).read())
# print soup
print [x for x in soup.findAll('img', {'class': 'profilePic img'})]
然而,BeautifulSoup阅读的html不是Zuck的Facebook主页源代码。html以

<html lang="zh-Hans" id="facebook" class="no_js">...
。。。

它不包含我需要的class='profilePic img'的'img'。有什么问题吗?谢谢

“有什么问题?”——你试图做一些你不应该做的事情——Facebook的ToS禁止在没有他们明确的事先书面许可的情况下进行抓取。(事实上,他们只通过JS加载大量数据。)对于使用Javascript加载大量数据的站点,我使用Selenium加载新页面。