1. #-*-coding:utf-8-*-
  2.  
  3. import os
  4. import uuid
  5. import urllib2
  6. import cookielib
  7.  
  8. '''获取文件后缀名'''
  9. def get_file_extension(file):
  10. return os.path.splitext(file)[1]
  11.  
  12. '''創建文件目录,并返回该目录'''
  13. def mkdir(path):
  14. # 去除左右两边的空格
  15. path=path.strip()
  16. # 去除尾部 \符号
  17. path=path.rstrip("\\")
  18.  
  19. if not os.path.exists(path):
  20. os.makedirs(path)
  21.  
  22. return path
  23.  
  24. '''自动生成一个唯一的字符串,固定长度为36'''
  25. def unique_str():
  26. return str(uuid.uuid1())
  27.  
  28. '''
  29. 抓取网页文件内容,保存到内存
  30.  
  31. @url 欲抓取文件 ,path+filename
  32. '''
  33. def get_file(url):
  34. try:
  35. cj=cookielib.LWPCookieJar()
  36. opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
  37. urllib2.install_opener(opener)
  38.  
  39. req=urllib2.Request(url)
  40. operate=opener.open(req)
  41. data=operate.read()
  42. return data
  43. except BaseException, e:
  44. print e
  45. return None
  46.  
  47. '''
  48. 保存文件到本地
  49.  
  50. @path 本地路径
  51. @file_name 文件名
  52. @data 文件内容
  53. '''
  54. def save_file(path, file_name, data):
  55. if data == None:
  56. return
  57.  
  58. mkdir(path)
  59. if(not path.endswith("/")):
  60. path=path+"/"
  61. file=open(path+file_name, "wb")
  62. file.write(data)
  63. file.flush()
  64. file.close()
  65.  
  66. #获取文件后缀名
  67. print get_file_extension("123.jpg");
  68.  
  69. #創建文件目录,并返回该目录
  70. #print mkdir("d:/ljq")
  71.  
  72. #自动生成一个唯一的字符串,固定长度为36
  73. print unique_str()
  74.  
  75. url="http://qlogo1.store.qq.com/qzone/416501600/416501600/100?0";
  76. save_file("d:/ljq/", "123.jpg", get_file(url))

转自:http://www.cnblogs.com/linjiqin/p/3672285.html

python 网页抓取并保存图片的更多相关文章

  1. 一个极其简洁的Python网页抓取程序,自己主动从雅虎財经抓取股票数据

    本程序使用Python 2.7.6编写,扩展了Python自带的HTMLParser,自己主动依据预设的股票代码列表,从Yahoo Finance抓取列表中的数据日期.股票名称.实时报价.当日变化率. ...

  2. python网页抓取练手代码

    from urllib import request import html.parser class zhuaqu(html.parser.HTMLParser): blogHtml = " ...

  3. python分布式抓取网页

    呵呵,前两节好像和python没多大关系..这节完全是贴代码, 这是我第一次写python,很多地方比较乱,主要就看看逻辑流程吧. 对于编码格式确实搞得我头大..取下来页面不知道是什么编码,所以先找c ...

  4. Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取

    区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...

  5. Python实现简单的网页抓取

    现在开源的网页抓取程序有很多,各种语言应有尽有. 这里分享一下Python从零开始的网页抓取过程 第一步:安装Python 点击下载适合的版本https://www.python.org/ 我这里选择 ...

  6. Python网络爬虫笔记(一):网页抓取方式和LXML示例

    (一)   三种网页抓取方法 1.    正则表达式: 模块使用C语言编写,速度快,但是很脆弱,可能网页更新后就不能用了. 2.    Beautiful Soup 模块使用Python编写,速度慢. ...

  7. Python爬虫之三种网页抓取方法性能比较

    下面我们将介绍三种抓取网页数据的方法,首先是正则表达式,然后是流行的 BeautifulSoup 模块,最后是强大的 lxml 模块. 1. 正则表达式   如果你对正则表达式还不熟悉,或是需要一些提 ...

  8. python 处理抓取网页乱码

    python 处理抓取网页乱码问题一招鲜   相信用python的人一定在抓取网页时,被编码问题弄晕过一阵 前几天写了一个测试网页的小脚本,并查找是否包含指定的信息. 在html = urllib2. ...

  9. Python之HTML的解析(网页抓取一)

    http://blog.csdn.net/my2010sam/article/details/14526223 --------------------- 对html的解析是网页抓取的基础,分析抓取的 ...

随机推荐

  1. Python 文件复制_bytes

    f1 = open("c:/huyifei.jpg", mode="rb") f2 = open("d:/huerfei.jpg", mod ...

  2. OC基础:NSString NSNumber 分类: ios学习 OC 2015-06-17 17:55 77人阅读 评论(0) 收藏

    OC中的基本数据类型 NSString  在64位系统下,相当于long,在非64位系统下,想当于int. CGFloat   在64位系统下,相当于double,在非64位系统之下,想当与float ...

  3. caffe测试mnist问题-error while loading shared libraries

    问题描述 build/examples/mnist/convert_mnist_data.bin: error while loading shared libraries: libcudart.so ...

  4. HDU2037:今年暑假不AC

    Problem Description "今年暑假不AC?" "是的." "那你干什么呢?" "看世界杯呀,笨蛋!" & ...

  5. HashMap Hashtable LinkedHashMap TreeMap

    // Map<String, String> map = new HashMap<String, String>(); // bb aa cc Map<String, S ...

  6. Python编码——常见的编码设置

    1.查看自己电脑的python的编码设置 # -*- coding: utf8 -*- import sys, locale """ locale.getpreferre ...

  7. OpenXml操作Word的一些操作总结.无word组件生成word.(转)

    http://www.cnblogs.com/zhouxin/p/3174936.html OpenXml相对于用MS提供的COM组件来生成WORD,有如下优势: 1.相对于MS 的COM组件,因为版 ...

  8. silverlight 进行本地串口调用的一种可行的解决方法 之silverlight端代码

    接上边的文章. 在javascript暴露操作activex 串口接收之后,就是silverlight端进行串口数据的显示,我们的显示方式比较简单,只是为了演示,我们每隔1秒进行数据的获取并显示, 为 ...

  9. FastAdmin 插件的 Git 开发流程(简明)

    FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 gi ...

  10. ORACLE基本操作备忘

    通过CMD登录SQLPLUS 的语句 C:\Users\Administrator>sqlplus /nolog SQL> conn sys/pwd as sysdba; 导入导出数据库( ...