最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Python中使用cookielib和urllib2配合PyQuery抓取網(wǎng)頁信息

 更新時間:2015年04月25日 10:53:52   作者:程康  
這篇文章主要介紹了在Python中使用cookielib和rllib2配合PyQuery抓取網(wǎng)頁信息的教程,主要是利用PyQuery解析HTML來實(shí)現(xiàn),需要的朋友可以參考下

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

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

pyQuery 是 jQuery 在 Python 中的實(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')
#通過類名獲取元素
#如果你對jQuery熟悉的話,那么你現(xiàn)在肯定明白pyQuery的方便了
更多用法參見pyQuery API

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

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

這是一個最簡的模擬post請求例子:

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想到了三國殺

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

現(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!!!

希望對大家有幫助。

相關(guān)文章

  • python刪除某個字符

    python刪除某個字符

    這篇文章主要介紹了python刪除某個字符,現(xiàn)在發(fā)布的是一個比較簡單易行的方法,就是遇到該字符便跳過去,不對其進(jìn)行操作,完美呈現(xiàn)出刪除該字符的功能,需要的朋友可以參考下
    2018-03-03
  • python scrapy腳本報(bào)錯問題及解決

    python scrapy腳本報(bào)錯問題及解決

    這篇文章主要介紹了python scrapy腳本報(bào)錯問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python檢查ping終端的方法

    Python檢查ping終端的方法

    今天小編就為大家分享一篇Python檢查ping終端的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python安裝Graphviz?超詳細(xì)圖文教程

    Python安裝Graphviz?超詳細(xì)圖文教程

    這篇文章主要介紹了Python安裝Graphviz?詳細(xì)教程,在Python安裝Graphviz畫圖器,首先要明確他是一個獨(dú)立的軟件,如果大家用pip的方法裝了graphviz可以先卸載,本文通過圖文并茂的形式詳細(xì)講解,需要的朋友參考下吧
    2023-02-02
  • 在cmd中查看python的安裝路徑方法

    在cmd中查看python的安裝路徑方法

    在本篇文章里小編給大家整理的是關(guān)于怎樣在cmd中查看python的安裝路徑的相關(guān)內(nèi)容,有興趣的朋友們學(xué)習(xí)參考下。
    2019-07-07
  • python 中的列表生成式、生成器表達(dá)式、模塊導(dǎo)入

    python 中的列表生成式、生成器表達(dá)式、模塊導(dǎo)入

    這篇文章主要介紹了python中的列表生成式、生成器表達(dá)式、模塊導(dǎo)入 ,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Python+Opencv身份證號碼區(qū)域提取及識別實(shí)現(xiàn)

    Python+Opencv身份證號碼區(qū)域提取及識別實(shí)現(xiàn)

    這篇文章主要介紹了Python+Opencv身份證號碼區(qū)域提取及識別實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python&MongoDB爬取圖書館借閱記錄

    python&MongoDB爬取圖書館借閱記錄

    這篇文章主要介紹了python&MongoDB爬取圖書館借閱記錄的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • python和mysql交互操作實(shí)例詳解【基于pymysql庫】

    python和mysql交互操作實(shí)例詳解【基于pymysql庫】

    這篇文章主要介紹了python和mysql交互操作,結(jié)合實(shí)例形式詳細(xì)分析了Python基于pymysql庫實(shí)現(xiàn)mysql數(shù)據(jù)庫的連接、增刪改查等各種常見操作技巧,需要的朋友可以參考下
    2019-06-06
  • python 遍歷pd.Series的index和value

    python 遍歷pd.Series的index和value

    今天小編就為大家分享一篇python 遍歷pd.Series的index和value,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論

梅河口市| 沁阳市| 剑阁县| 佛冈县| 株洲县| 通海县| 永泰县| 宜阳县| 乡城县| 宕昌县| 湟源县| 葵青区| 塔河县| 垦利县| 济宁市| 乐都县| 武定县| 西贡区| 遵义县| 郯城县| 本溪市| 常山县| 辛集市| 日土县| 枣阳市| 宁化县| 英超| 四川省| 南木林县| 汝南县| 河源市| 威海市| 博客| 射洪县| 浦城县| 镇宁| 涟源市| 财经| 襄城县| 兴义市| 辽阳市|