标签:python 爬虫 正则表达式 网络爬虫 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 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')
代码大体仿照那个博客写的,只不过具体问题具体分析部分有修改,大家可以去看看他详细的讲解。
正则表达式取数据时因为不熟练费了不少力。
取出书名以及被检索借阅的次数。
最后的截图:
标签:python 爬虫 正则表达式 网络爬虫 cookie
原文地址:http://blog.csdn.net/zhangxbj/article/details/45094695