爬虫爬取python词汇

您所在的位置:网站首页 百词斩出错 爬虫爬取python词汇

爬虫爬取python词汇

2024-01-07 11:34| 来源: 网络整理| 查看: 265

百词斩是一款很不错的单词记忆APP,在学习过程中,它会记录你所学的每个单词及你答错的次数,通过此列表可以很方便地找到自己在记忆哪些单词时总是反复出错记不住。我们来用Python来爬取这些信息,同时学习Python爬虫基础。

这个网站是需要登录的,不过还好没验证码,我们可以先看下在登录过程中浏览器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 importurllib2 importurllib23 importcookielib4

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())

这样,我们可以发现,打印的是登录后的页面源码,这说明我们成功实现了登录。

当我们点击页码时,实际上是发送了GET请求。然后我们看Response,发现是个json,我们解析下看看(可以到http://www.json.cn/在线解析json)

如果要在Python中解析json,我们需要json库。我们打印下前两页的单词看看:

1 importurllib22 importcookielib3 importurllib4 importjson5

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"]

这样,我们就能打印出前两页的单词以及释义、错误次数。

至于要把所有已学单词都获取到,只需要稍作修改即可,之后我们便能把这些数据存储进行一些后续的处理。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3