成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python使用cookielib、urllib2和pyquery模擬登陸本科教學(xué)網(wǎng)并抓取數(shù)據(jù)

tuomao / 1536人閱讀

摘要:原文鏈接使用和模擬登陸本科教學(xué)網(wǎng)并抓取數(shù)據(jù)剛才好無聊,突然想起來之前做一個(gè)課表的點(diǎn)子,于是百度了起來。使用現(xiàn)在,我們已經(jīng)登錄了本科教學(xué)網(wǎng),然后結(jié)合之前的解析就可以獲取網(wǎng)頁內(nèi)的課表了。

  

原文鏈接:《Python使用cookielib、urllib2和pyquery模擬登陸本科教學(xué)網(wǎng)并抓取數(shù)據(jù)》

剛才好無聊,突然想起來之前做一個(gè)課表的點(diǎn)子,于是百度了起來。

PyQuery

剛開始,我是這樣想的:在寫微信墻的時(shí)候,用到了urllib2【兩行代碼抓網(wǎng)頁】,那么就只剩下解析html了。于是百度:python解析html。發(fā)現(xiàn)一篇好文章,其中介紹到了pyQuery。

pyQueryjQueryPython中的實(shí)現(xiàn),能夠以jQuery的語法來操作解析 HTML 文檔。使用前需要安裝,Mac安裝方法如下:

sudo easy_install pyquery

OK!安裝好了!

我們來試一試吧:

from pyquery import PyQuery as pq
html = pq(url=u"http://seam.ustb.edu.cn:8080/jwgl/index.jsp")
#現(xiàn)在已經(jīng)獲取了本科教學(xué)網(wǎng)首頁的html
classes = html(".haveclass")
#通過類名獲取元素
#如果你對(duì)jQuery熟悉的話,那么你現(xiàn)在肯定明白pyQuery的方便了

更多用法參見pyQuery API

urllib、urllib2

好像學(xué)會(huì)了使用pyQuery就能抓課表了呢,但是,如果你直接用我的源碼,肯定會(huì)出錯(cuò)。因?yàn)檫€沒有登錄??!

所以,在運(yùn)行這一行抓取正確的代碼之前,我們需要模擬登錄本科教學(xué)網(wǎng)。這個(gè)時(shí)候,我想起來urllib有模擬post請(qǐng)求的函數(shù),于是我百度了:urllib post。

這是一個(gè)最簡的模擬post請(qǐng)求例子:

import urllib
import urllib2
import cookielib

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [("User-agent","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)")]
urllib2.install_opener(opener)
req = urllib2.Request("http://seam.ustb.edu.cn:8080/jwgl/Login",urllib.urlencode({"username":"41255029","password":"123456","usertype":"student"}))
req.add_header("Referer","http://xxoo.com")
resp = urllib2.urlopen(req)
#這里面用到了cookielib,我不太清楚,以后慢慢了解吧
#還用到了urllib和urllib2,urllib2大概是urllib的擴(kuò)展包【233想到了三國殺

在這個(gè)最簡的實(shí)例里,用我的校園網(wǎng)賬號(hào)向登錄頁面提交表單數(shù)據(jù),模擬登錄。

PyQuery使用
現(xiàn)在,我們已經(jīng)登錄了本科教學(xué)網(wǎng),然后結(jié)合之前的pyQuery解析html就可以獲取網(wǎng)頁內(nèi)的課表了。

html = pq(url=u"http://seam.ustb.edu.cn:8080/jwgl/index.jsp")
self.render("index.html",data=html(".haveclass"))

結(jié)果展示如圖:

最后:

我發(fā)現(xiàn),pyQuery不但用于解析html非常方便,而且可以作為跨域抓取數(shù)據(jù)的工具,NICE!!!

希望對(duì)大家有幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/37534.html

相關(guān)文章

  • Python定向爬蟲,模擬新浪微博登錄!

    摘要:當(dāng)我們?cè)噲D從新浪微博抓取數(shù)據(jù)時(shí),我們會(huì)發(fā)現(xiàn)網(wǎng)頁上提示未登錄,無法查看其他用戶的信息。三模擬登錄下面將介紹使用獲取新浪微博,然后使用提交從而實(shí)現(xiàn)模擬登錄。 當(dāng)我們?cè)噲D從新浪微博抓取數(shù)據(jù)時(shí),我們會(huì)發(fā)現(xiàn)網(wǎng)頁上提示未登錄,無法查看其他用戶的信息。模擬登錄是定向爬蟲制作中一個(gè)必須克服的問題,只有這樣才能爬取到更多的內(nèi)容。 showImg(https://segmentfault.com/img/...

    isaced 評(píng)論0 收藏0
  • 【爬蟲系列之三】URLError異常處理以及Cookie的使用

    摘要:一的處理出現(xiàn)產(chǎn)生的原因很多,比如網(wǎng)絡(luò)沒法連接,連接不到服務(wù)器,或者服務(wù)器不存在。二的使用,一般是某些網(wǎng)站為了辨別用戶身份,進(jìn)行跟蹤,從而存儲(chǔ)在客戶端的數(shù)據(jù)。模塊的主要作用是提供可存儲(chǔ)的對(duì)象,以便于與模塊配合使用來訪問資源。 一、urlError的處理 出現(xiàn)urlError產(chǎn)生的原因很多,比如:網(wǎng)絡(luò)沒法連接,連接不到服務(wù)器,或者服務(wù)器不存在。在代碼中,我們需要用try-except的語句...

    xiaochao 評(píng)論0 收藏0
  • 爬蟲養(yǎng)成記 - urllib2的HTTPCookieProcessor

    摘要:相當(dāng)于該用戶的檔案。上述的文字對(duì)機(jī)制描述的比較簡單也并不一定完全正確。但是默認(rèn)的并不支持。中供我們使用的是。創(chuàng)建需要闖入一個(gè)存放的容器。即過期的也保存。目前博主只知道鏈接后帶的參數(shù)需要與相匹配。但是并不知道兩者具體的關(guān)系。 很多網(wǎng)站的資源需要用戶登錄之后才能獲取。我們一旦登錄后再訪問其他被保護(hù)的資源的時(shí)候,就不再需要再次輸入賬號(hào)、密碼。那么網(wǎng)站是怎么辦到的呢?一般來說,用戶在登錄之后,...

    gnehc 評(píng)論0 收藏0
  • Python入門網(wǎng)絡(luò)爬蟲之精華版

    摘要:學(xué)習(xí)網(wǎng)絡(luò)爬蟲主要分個(gè)大的版塊抓取,分析,存儲(chǔ)另外,比較常用的爬蟲框架,這里最后也詳細(xì)介紹一下。網(wǎng)絡(luò)爬蟲要做的,簡單來說,就是實(shí)現(xiàn)瀏覽器的功能。 Python學(xué)習(xí)網(wǎng)絡(luò)爬蟲主要分3個(gè)大的版塊:抓取,分析,存儲(chǔ) 另外,比較常用的爬蟲框架Scrapy,這里最后也詳細(xì)介紹一下。 首先列舉一下本人總結(jié)的相關(guān)文章,這些覆蓋了入門網(wǎng)絡(luò)爬蟲需要的基本概念和技巧:寧哥的小站-網(wǎng)絡(luò)爬蟲,當(dāng)我們?cè)跒g覽器中輸入...

    Bmob 評(píng)論0 收藏0
  • 零基礎(chǔ)如何學(xué)爬蟲技術(shù)

    摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),。本文來源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲軟件定制開發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲學(xué)習(xí)系列教程(來源于某博主:htt...

    KunMinX 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<