python扇贝每日一句api_扇贝简易爬虫

前段时间因为编译时间过长的问题很是苦恼,玩微信刷微博吧又怕被老板看到而且影响工作,所以准备自己写个爬虫抓取扇贝在背的单词再加桌面提醒好好利用编译这段时间。

这是最终的形态:

屏幕快照 2017-03-04 下午9.53.40.png

提醒这里用的是 Growl(收费) 的命令行版本 GrowlNotify.

其实写这个爬虫并不难,主要分为以下两个小步骤:

登录

Cookie 保存

获取数据

登录

登录的接口,我们可以借助 Chrome 的开发者工具,我们模拟 扇贝 登录后, 可以在开发者工具中的 Network 中看到 登录的网络请求,注意这里需要点击`Preserve log' 保留日志。

粘贴图片.png

并在过程中传输了用户名密码。我们模拟这个提交就可以模拟登陆了。

data = {'username': 'cijianzy@gmail.com', 'password': '******'}

request = urllib2.Request('https://www.shanbay.com/api/v1/account/login/web/', urllib.urlencode(data))

request.get_method = lambda: 'PUT'

response = urllib2.urlopen(request)

登陆成功后的结果

{"msg": "SUCCESS", "status_code": 0, "data": {}}

登陆就大功告成了

Cookie 保存

那么登陆后我们需要将 Cookie 保存起来以便后续访问呢。

这里在访问前使用如下方法来保存:

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))

urllib2.install_opener(opener)

获取数据

这一步取决于你想获取的数据,可以用上面找登陆接口方法模拟访问一遍找到数据接口即可。我这里找的是在学的接口。接口地址如下:

https://www.shanbay.com/api/v1/bdc/library/familiar/?page={页数}&_={用户id}

可以看到,我这里枚举页数即可拿到所有在学的单词了,返回的是 JSON 字符串也比较方便解析。返回示例

参考链接

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值