扇貝簡易爬蟲

前段時間因為編譯時間過長的問題很是苦惱,玩微信刷微博吧又怕被老板看到而且影響工作,所以準備自己寫個爬蟲抓取扇貝在背的單詞再加桌面提醒好好利用編譯這段時間。

項目源碼

這是最終的形態(tài):

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

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

其實寫這個爬蟲并不難,主要分為以下兩個小步驟:

  • 登錄
  • Cookie 保存
  • 獲取數(shù)據(jù)

登錄

登錄的接口,我們可以借助 Chrome 的開發(fā)者工具,我們模擬 扇貝 登錄后, 可以在開發(fā)者工具中的 Network 中看到 登錄的網(wǎng)絡(luò)請求,注意這里需要點擊`Preserve log' 保留日志。

粘貼圖片.png

在這里我們可以觀察到訪問的接口是:https://www.shanbay.com/api/v1/account/login/web/

并在過程中傳輸了用戶名密碼。我們模擬這個提交就可以模擬登陸了。

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)

<b>登陸成功后的結(jié)果</b>

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

登陸就大功告成了

Cookie 保存

那么登陸后我們需要將 Cookie 保存起來以便后續(xù)訪問呢。
這里在訪問前使用如下方法來保存:

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

獲取數(shù)據(jù)

這一步取決于你想獲取的數(shù)據(jù),可以用上面找登陸接口方法模擬訪問一遍找到數(shù)據(jù)接口即可。我這里找的是在學(xué)的接口。接口地址如下:

https://www.shanbay.com/api/v1/bdc/library/familiar/?page={頁數(shù)}&_={用戶id}

可以看到,我這里枚舉頁數(shù)即可拿到所有在學(xué)的單詞了,返回的是 JSON 字符串也比較方便解析。返回示例

參考鏈接

python爬蟲模擬登陸扇貝單詞

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,291評論 25 708
  • 感覺很久沒有寫點東西了,因為最近太忙(外因)或是自身太懶(內(nèi)因)的原因??傊?,很早之前,我就開始規(guī)劃著寫點關(guān)于網(wǎng)絡(luò)...
    figotan閱讀 6,264評論 2 52
  • 翻香令?驚春 醒春恐被飛雪擾,遲日驚覺寒意消。 東荷翻,西蕊傾,這一番、沈水暗同瞧。 綠楊陰里花意鬧,小蓬山下金釵...
    丘小山閱讀 259評論 2 4
  • 未來很近,余生很短,除了相愛,我們還能做些什么? 你的眷戀,注定是我一生駐足的風(fēng)景 此生愿與你為伴,日食三餐 人生...
    邱果閱讀 1,087評論 0 0
  • 我們買東西時,一件百搭的商品總會讓我們更加有購買欲望,但是百搭也就意味著買的人多,意味著容易碰到穿著類似的人。俗話...
    前店后廠閱讀 1,504評論 0 0

友情鏈接更多精彩內(nèi)容