python 下载 爬虫
By:Roy.LiuLast updated:2012-07-30
用python 写爬虫,一般基于两种形式:
1. 为了爬取 页面内容。2. 下载文件,有很多下载站,提供下载链接。
这两种爬虫,都有可能遇到需要登录后才能下载。所以涉及到用python 登陆网站后,再去别的页面爬取内容或下载文件。
基础知识,可以参考:
http://www.yihaomen.com/article/python/210.htm
这是爬CSDN 内容的一个小爬虫,这是爬内容的。本文主要讲爬下载的。
比如我想爬 asp300.com 的源码. 首先可以注册一个账号,比如 账号:yihaomen,密码:abcedfg.
然后准备python 代码:
这样文件就保存下来了。当然这仍然是一个实验局,如果真正使用,必须结合多线程,断点续传,分片下载。实验局,只要说明,如何用python 登陆网站。
至于登陆认证时: {'username' : 'yihaomen', 'password' : 'abcdefg','loginsubmit':' 登 录 ' }
为什么是这样的,你可以装一个firebug,或者 httpfox ,跟踪一下 登陆时post 或 get 的数据,你模拟一个格式就好了。
另外,对于有些网站,必须加入header ,可以参考 爬取csdn 那篇文章,上面提到过的。
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 那篇文章,上面提到过的。
From:一号门
Previous:伦敦2012奥运会开幕式,让我失望
Next:python pil 验证码,汉字验证码
COMMENTS