最近对爬虫比较感兴趣,就研究了一下。
推荐一个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 urllib import urllib2 import cookielib import re cookie = 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.value result = 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')
代码大体仿照那个博客写的,只不过具体问题具体分析部分有修改,大家可以去看看他详细的讲解。
正则表达式取数据时因为不熟练费了不少力。
取出书名以及被检索借阅的次数。
最后的截图:
时间: 2024-10-02 13:56:16