[Python]网络爬虫:北邮图书馆排行榜

最近对爬虫比较感兴趣,就研究了一下。

推荐一个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

[Python]网络爬虫:北邮图书馆排行榜的相关文章

python网络爬虫学习资料

第一:Python爬虫学习系列教程(来源于某博主:http://cuiqingcai.com/1052.html) Python版本:2.7 整体目录: 一.爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库的高级用法 5. Python爬虫入门五之URLError异常处理 6. Python爬虫入门六之Cookie的使用 7. Python爬虫入门七之正则

爬虫学习 04.Python网络爬虫之requests模块(1)

爬虫学习 04.Python网络爬虫之requests模块(1) 引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档症.抑郁.头疼.甚至死亡. 今日概要 基于requests的get请求 基于requests模块的post请求 基于requests模块ajax的get请求 基于requests模块ajax的post请求 综合项目练习:爬取国家药品监

Python网络爬虫

http://blog.csdn.net/pi9nc/article/details/9734437 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成一个网站,那么

python网络爬虫之cookie的使用方法汇总

在编写python网络爬虫时,除了要考虑到爬虫的异常处理问题,我们是否还会考虑到cookie的使用呢?在使用cookie时,有想过为什么要使用cookie吗?一起来看看吧. Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密)比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了. 在此之前呢,我们必须先介绍一个open

Python网络爬虫与信息提取(中国大学mooc)

目录 目录 Python网络爬虫与信息提取 淘宝商品比价定向爬虫 目标获取淘宝搜索页面的信息 理解淘宝的搜索接口翻页的处理 技术路线requests-refootnote 代码如下 股票数据定向爬虫 列表内容 爬取网站原则 代码如下 代码优化 Python网络爬虫与信息提取 淘宝商品比价定向爬虫 股票数据定向爬虫 1. 淘宝商品比价定向爬虫 功能描述 目标:获取淘宝搜索页面的信息 理解:淘宝的搜索接口翻页的处理 技术路线:requests-re[^footnote]. 代码如下: #CrowTa

2017.07.28 Python网络爬虫之爬虫实战 今日影视2 获取JS加载的数据

1.动态网页指几种可能: 1)需要用户交互,如常见的登录操作: 2)网页通过js / AJAX动态生成,如一个html里有<div id="test"></div>,通过JS生成<divid="test"><span>aaa</span></div>: 3)点击输入关键字后进行查询,而浏览器url地址不变 2.想用Python获取网站中JavaScript返回的数据,目前有两种方法: 第一种方法

[Python]网络爬虫(三):异常的处理和HTTP状态码的分类(转)

先来说一说HTTP的异常处理问题.当urlopen不能够处理一个response时,产生urlError.不过通常的Python APIs异常如ValueError,TypeError等也会同时产生.HTTPError是urlError的子类,通常在特定HTTP URLs中产生. 1.URLError通常,URLError在没有网络连接(没有路由到特定服务器),或者服务器不存在的情况下产生. 这种情况下,异常同样会带有"reason"属性,它是一个tuple(可以理解为不可变的数组),

[Python]网络爬虫(四):Opener与Handler的介绍和实例应用(转)

在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info and geturl urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info()和geturl() 1.geturl(): 这个返回获取的真实的URL,这个很有用,因为urlopen(或者opener对象使用的)或许会有重定向.获取的URL或许跟请求URL不同. 以人人中的一个超级链接为例, 我们建一个urllib2_test10.py来比较一下原始URL和重定向的链接: [p

Python]网络爬虫

Originated From: http://blog.csdn.net/pi9nc/article/details/9734437#comments [Python]网络爬虫(一):抓取网页的含义和URL基本构成 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些