本文主要介绍利用Python登录知乎账号,抓取其中的用户名、用户头像、知乎的问题、问题来源、被赞数目、以及回答者。其中数据是配合Beautiful Soup进行解析的。
首先,要解决的是知乎登录问题。在程序中登录知乎我们直接提供用户名和密码是无法进行登录的,这里我们采用一个比较笨拙的办法直接在发送请求过程中附带上cookies。这个cookies值我们可以通过在火狐浏览器登录知乎时用firebug直接捕获。cookies获取如下图所示:
[info]
email =youremail
password = youpassword
[cookies]
q_c1 =
cap_id =
_za =
__utmt =
__utma =
__utmb =
__utmc =
__utmz =
__utmv =
z_c0 =
unlock_ticket =
然后我们可以利用python的requests模块、urllib、urllib2模块实现如下登录代码:
#知乎登录
def create_session():
cf = ConfigParser.ConfigParser()
cf.read('config.ini')
#从配置文件获取cookies值,并转化为dict
cookies = cf.items('cookies')
cookies = dict(cookies)
from pprint import pprint
pprint(cookies)
#获取登录名
email = cf.get('info', 'email')
#获取登录密码
password = cf.get('info', 'password')
session = requests.session()
login_data = {
'email': email, 'password': password}
header = {
'User-Agent': 'Mozi