用Python访问Facebook

3 投票
1 回答
608 浏览
提问于 2025-04-17 12:18

我正在尝试用Python访问Facebook :D

我想获取一些需要登录才能查看的数据。我知道我需要用到cookies之类的东西来用Python查看这些数据,但我对cookies完全不懂。

我该如何用Python登录Facebook,浏览多个页面并获取一些数据呢?

1 个回答

1

好的,这个问题可能比较复杂。你想要用屏幕抓取的方式来获取信息,而不是使用标准的API,对吧?

这是可以的——不过不太推荐,因为屏幕抓取依赖于网页的HTML格式不变。如果网页格式改变了,抓取就可能失败。不过这并不是不可能的事情。

首先,你需要了解如何打开一个网址:

http://docs.python.org/library/urllib2.html

这非常简单——页面上的例子会给你展示类似这样的内容:

>>> import urllib2
>>> f = urllib2.urlopen('http://facebook.com/')
>>> print f.read()

这样你就能看到HTML内容了。

不过,Facebook会比一般网站更聪明,可能会采取措施来防止这种登录方式 编辑:我希望如此

所以你可能需要手动处理会话:

import urllib2
req = urllib2.Request('http://www.facebook.com/')
req.add_header('Referer', 'http://www.lastpage.com/')
r = urllib2.urlopen(req)

这些内容都是从Python文档中摘录的。

撰写回答