Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1090538
  • 博文数量: 321
  • 博客积分: 7872
  • 博客等级: 少将
  • 技术积分: 2120
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 09:06
文章分类

全部博文(321)

文章存档

2017年(1)

2016年(1)

2015年(12)

2014年(17)

2013年(78)

2012年(15)

2011年(17)

2010年(67)

2009年(102)

2008年(11)

分类: LINUX

2013-06-28 15:15:59

  1. 用python 下载网页内容还是很不错的,之前是使用urllib模块实验的,但听说有pycurl这个模块,而且比urllib好,所以尝试下,废话不说,以下是代码


  2. #!/usr/bin/env python
  3. # -*- coding: utf-8 -*-
  4. import StringIO
  5. import pycurl

  6. def writefile(fstr,xfilename):
      f=open(xfilename,'w')
      f.write(fstr)
      f.close

  1. html = StringIO.StringIO()
  2. c = pycurl.Curl()
  3. myurl=''
  4.  
  5. c.setopt(pycurl.URL, myurl)
  6.  
  7. #写的回调
  8. c.setopt(pycurl.WRITEFUNCTION, html.write)
  9.  
  10. c.setopt(pycurl.FOLLOWLOCATION, 1)
  11.  
  12. #最大重定向次数,可以预防重定向陷阱
  13. c.setopt(pycurl.MAXREDIRS, 5)
  14.  
  15. #连接超时设置
  16. c.setopt(pycurl.CONNECTTIMEOUT, 60)
  17. c.setopt(pycurl.TIMEOUT, 300)
  18.  
  19. #模拟浏览器
  20. c.setopt(pycurl.USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)")
  21.  
  22.  
  23.  
  24. #访问,阻塞到访问结束
  25. c.perform()
  26.  
  27. #打印出 200(HTTP状态码,可以不需要)
  28. print c.getinfo(pycurl.HTTP_CODE)
  29.  
  30. #输出网页的内容
  31. print html.getvalue()
  32. #保存成down.txt文件
  33. writefile(html.getvalue(),"down.txt")

的pycurl模块的安装可以到http://pycurl.sourceforge.net/download/这里去找.
不同系统使用不同版本,自己看看

转自:http://blog.sina.com.cn/s/blog_59cf08450100ibpg.html
阅读(2230) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~