python 下载 爬虫

摘要: 用python 写爬虫,一般基于两种形式:1. 为了爬取 页面内容。2. 下载文件,有很多下载站,提供下载链接。这两种爬虫,都有可能遇到需要登录后才能下载。所以涉及到用python 登陆网站后,再去别的页面爬取内容或下载文件。基础知识,可以参考:http://www.yihaomen.com/article/python/210.htm

用python 写爬虫,一般基于两种形式:
1. 为了爬取 页面内容。2. 下载文件,有很多下载站,提供下载链接。
这两种爬虫,都有可能遇到需要登录后才能下载。所以涉及到用python 登陆网站后,再去别的页面爬取内容或下载文件。
基础知识,可以参考:
http://www.yihaomen.com/article/python/210.htm
这是爬CSDN 内容的一个小爬虫,这是爬内容的。本文主要讲爬下载的。
比如我想爬 asp300.com 的源码. 首先可以注册一个账号,比如 账号:yihaomen,密码:abcedfg.

然后准备python 代码:

#coding:gb2312
import urllib2,cookielib,urllib
cookie=cookielib.CookieJar()
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
urllib2.install_opener(opener)
#进行认证
postdata = urllib.urlencode( {'username' : 'yihaomen', 'password' : 'abcdefg','loginsubmit':'   登 录   ' })
login_response= urllib2.urlopen('http://www.asp300.com/2012user/login.jsp' ,postdata)
aa=login_response.read()
aa.close()
#认证完毕后,打开原来要登陆后才能下载的页面
pp=urllib2.urlopen('http://www.asp300.com/2012dll/Down.jsp?CodeID=43150&id=2')
bb=pp.read()
fp=open('c:/mydownload.rar','wb')
fp.write(bb)
fp.close()


这样文件就保存下来了。当然这仍然是一个实验局,如果真正使用,必须结合多线程,断点续传,分片下载。实验局,只要说明,如何用python 登陆网站。

至于登陆认证时: {'username' : 'yihaomen', 'password' : 'abcdefg','loginsubmit':' 登 录 ' }
为什么是这样的,你可以装一个firebug,或者 httpfox ,跟踪一下 登陆时post 或 get 的数据,你模拟一个格式就好了。

另外,对于有些网站,必须加入header ,可以参考 爬取csdn 那篇文章,上面提到过的。

上一篇: 伦敦2012奥运会开幕式,让我失望
下一篇: python pil 验证码,汉字验证码
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号