標籤:python 爬蟲 Regex 網路爬蟲 cookie
最近對爬蟲比較感興趣,就研究了一下。
推薦一個python爬蟲部落格http://blog.csdn.net/pleasecallmewhy/article/details/9305229點擊開啟連結。跟著博主的部落格學了下來,自己動手編寫了一個爬北郵圖書館熱門排行榜的demo。
#!/usr/bin/env python# -*- coding: utf-8 -*-#---------------------------------------# 程式:bupt圖書館爬蟲-熱門排行榜# 版本:0.1# zhangxuan# 日期:2015-04-15# 語言:Python 2.7# 操作:輸入帳號和密碼# 功能:#---------------------------------------' a test module '__author__ = 'zhangxuan'import urllibimport urllib2import cookielibimport recookie = cookielib.CookieJar()opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))opener.addheaders = [('User-agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0')]urllib2.install_opener(opener)#需要POST的資料#postdata=urllib.urlencode({ 'login_type':'e_card', 'barcode':'2014110590', 'password':'1105090', '_':''})#自訂一個請求#req = urllib2.Request( url = 'http://10.106.0.217:8080/opac_two/reader/infoList.jsp', data = postdata)#訪問該連結##result = opener.open(req)result = urllib2.urlopen(req)#列印返回的內容#print result.read().decode('gbk').encode('utf-8')#列印cookie的值for item in cookie: print 'Cookie:Name = '+item.name print 'Cookie:Value = '+item.valueresult = opener.open('http://10.106.0.217:8080/opac_two/top/top.jsp')print u"""------------------------------------------------------------------------------"""myPage = result.read()myItems = re.findall('<div class=".*?">.*?<a href=".*?".*?target="_blank"> (.*?)</a>.*?</div>.*?<div class=".*?">(.*?)</div>',myPage,re.S)for item in myItems: print item[0].decode('gbk').encode('utf-8') print item[1].decode('gbk').encode('utf-8')
代碼大體仿照那個部落格寫的,只不過具體問題具體分析部分有修改,大家可以去看看他詳細的講解。
Regex取資料時因為不熟練費了不少力。
取出書名以及被檢索借閱的次數。
最後的:
[Python]網路爬蟲:北郵圖書館熱門排行榜