Python爬虫入门案例:获取百词斩已学单词列表
来源:互联网 发布:js cookie 过期时间 编辑:程序博客网 时间:2024/06/18 06:46
百词斩是一款很不错的单词记忆APP,在学习过程中,它会记录你所学的每个单词及你答错的次数,通过此列表可以很方便地找到自己在记忆哪些单词时总是反复出错记不住。我们来用Python来爬取这些信息,同时学习Python爬虫基础。
首先来到百词斩网站:http://www.baicizhan.com/login
这个网站是需要登录的,不过还好没验证码,我们可以先看下在登录过程中浏览器POST了哪些数据。打开浏览器开发工具(F12),以Chrome浏览器为例,记录登录过程中浏览器的Network情况:
我们可以发现,在登录过程中,浏览器向http://www.baicizhan.com/login以POST方式提交了数据。提交了什么数据呢?我们可以在下面的Form Data里看到。
其中,email是用户名,raw_pwd就是密码,这里的数据是需要经过URL编码的,我们可以点view URL encoded查看编码后的样子。URL编码需要urllib库。
在请求头(Request Headers)部分,我们还看到了Cookie。因此,我们还需要cookie库,来处理我们的Cookie。
1 import urllib 2 import urllib2 3 import cookielib 4 5 email = ‘your_email‘ 6 pwd = ‘your_password‘ 7 data = {‘email‘:email,‘raw_pwd‘:pwd} 8 post_data = urllib.urlencode(data) 9 10 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))11 12 response = opener.open(‘http://www.baicizhan.com/login‘, post_data)13 print(response.read())
这样,我们可以发现,打印的是登录后的页面源码,这说明我们成功实现了登录。
接着,我们来分析下单词列表的页面:http://www.baicizhan.com/user/words/list
当我们点击页码时,实际上是发送了GET请求。然后我们看Response,发现是个json,我们解析下看看(可以到http://www.json.cn/在线解析json)
如果要在Python中解析json,我们需要json库。我们打印下前两页的单词看看:
1 import urllib2 2 import cookielib 3 import urllib 4 import json 5 6 email = ‘your_email‘ 7 pwd = ‘your_password‘ 8 data = {‘email‘:email,‘raw_pwd‘:pwd} 9 post_data = urllib.urlencode(data)10 11 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))12 13 opener.open(‘http://www.baicizhan.com/login‘, post_data)14 15 for i in range(1, 3):16 content = json.loads(opener.open("http://www.baicizhan.com/user/all_done_words_list?page=%s"%i).read())17 for word in content["list"]:18 print word["word"]19 print word["word_meaning"].strip()20 print word["wrong_times"]
这样,我们就能打印出前两页的单词以及释义、错误次数。
至于要把所有已学单词都获取到,只需要稍作修改即可,之后我们便能把这些数据存储进行一些后续的处理。
- Python爬虫入门案例:获取百词斩已学单词列表
- Python爬虫入门案例
- python链接爬虫案例
- python爬虫案例系列教程——根据网址爬取中文网站,获取标题、子连接、子连接数目、连接描述、中文分词列表
- python爬虫-获取个人网易邮箱所有邮件列表信息
- Python爬虫 | Python爬虫入门
- Python 爬虫工具列表
- Python 爬虫 工具 列表
- python爬虫入门简单爬虫
- python 多进程爬虫案例
- python学习(4):python爬虫入门案例-爬取图片
- Python爬虫入门
- Python爬虫入门
- Python爬虫入门基础
- 如何入门 Python 爬虫?
- python 爬虫入门
- 如何入门 Python 爬虫?
- Python 爬虫入门《上》
- Linux基础
- Java的安装和下载
- 总结2015
- Leetcode——valid Anagram——时间复杂度太高,怎么办??
- 异步回调机制 在rpc中
- Python爬虫入门案例:获取百词斩已学单词列表
- (刷题自用向) POJ题目分类 转自kuangbin
- 在一个字符串中查找第一个非重复的字符
- Java多线程:概念
- 写作
- 安卓学习-谷歌官方文档翻译01-Training-GettingStarted
- 【spring配置】——spring配置数据源
- iOS区分BundleVersion和BundleShortVersionString
- Future