python---download Baidu Post Bar picture

Find some beautiful pictures when i browse  Baidu Post Bar,I want to download them. But it is troublsome to do that by hand,so i write a python.

#coding=utf-8
import urllib.request
import re

def getHtml(url):
    page=urllib.request.urlopen(url)
    html=page.read()
    return html

def getImg(html):
    reg=r‘src="(http://imgsrc\.baidu\.com.+?\.jpg)"‘
    imgre=re.compile(reg)
    imglist=re.findall(imgre,html)
    x=0
    for imgurl in imglist:
        urllib.request.urlretrieve(imgurl,‘bizhi\%s.jpg‘ % x)
        x=x+1
    print ("download ok")

html=getHtml("http://tieba.baidu.com/p/3868899385")
html=html.decode(‘utf-8‘)
getImg(html)

Code is very easy,there are some function:

Urlib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

For http or https url  ,this function return a http.client.HTTPResponse object slightly modified.

urllib.request.urlretrieve(url, filename=None, reporthook=None, data=None)

Copy a network object denoted by url to locail file

re.compile(pattern,flags0)

Compile a regular expression pattern into a regular express object

re.findall(pattern,string,flags=0)

Return all non-overlapping matches of pattern in string ,as a list of strings

时间: 2024-08-06 07:23:52

python---download Baidu Post Bar picture的相关文章

Python基础教程(第九章 魔法方法、属性和迭代器)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5437223.html______ Created on Marlowes 在Python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别.前面几章中已经出现过一些这样的名称(如__future__),这种拼写表示名字有特殊含义,所以绝不要在自己的程序中使用这样的名字.在Python中,由这些名字组成的集合所包含的方法称

Python中常用的一些操作总结(持续更新)

写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西.或许有价值,只是在我一年两不编程的情况下,我会忘记那些我以前很熟悉的操作是怎么完成的,或许混到那个地步我的人生就开始悲剧了吧.总之,成长成我想要的样子我还是需要很长的路要走. 这一篇是会持续更新的,至少为了保证它看起来不那么水,也要让它持续更新 python中的进制转换 1.其他进制转换为10进制 所有的进制

python 学习笔记day02-python循环、文件、函数、模块

循环语句 while 循环 while 循环语法结构 当需要语句不断的重复执行时,可以使用 while 循环 while expression: while_sutie 语句 while_suite 会被连续不断的循环执行,直到表达式的值变成 0 或 False         #!/usr/bin/env python         # -- coding: utf-8 --         sum100 = 0         counter = 1         while count

Python快速学习第七天

魔法方法.属性和迭代器 本文内容全部出自<Python基础教程>第二版 在Python中,有的名称会在前面和后面都加上两个下划线,这种写法很特别.前面几章中已经出现过一些这样的名称(如__future__),这种拼写表示名字有特殊含义,所以绝不要在自己的程序中使用这样的名字.在Python中,由这些名字组成的集合所包含的方法称为魔法(或特殊)方法.如果对象实现了这些方法中的某一个,那么这个方法会在特殊的情况下(确切地说是根据名字)被Python调用.而几乎没有直接调用它们的必要. 本章会详细讨

深刻理解Python中的元类(metaclass)

译注:这是一篇在Stack overflow上很热的帖子.提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解.他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程.于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应该加入到Python的官方文档中去.而e-satis同学本人在Stack Overflow中的声望积分也高达6

python之模块配置文件ConfigParser(在python3中变化较大)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ConfigParser(在python3中为configparser) #特别注意:python3和python2关于该模块的功能用法有很大的不同. #配置文件解析器 import ConfigParser,os #初始化一个配置文件对象 config=ConfigParser.ConfigParser() #增加一个section config.add_section('Sectio

Install OpenCV in Windows for Python

Here I will tell you how to install OpenCV 2.4x in Windows  for Python 2.7. Pre-requisites ( need to be downloaded ) : Python : Download latest version of Python 2.7 from Python site.Numpy : Download Numpy for Python 2.7 from here.OpenCV 2.4 : Downlo

Python描述符(descriptor)解密

Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些"中级"的语言特性有着完善的文档,并且易于学习. 但是这里有个例外,那就是描述符.至少对于我来说,描述符是Python语言核心中困扰我时间最长的一个特性.这里有几点原因如下: 有关描述符的官方文档相当难懂,而且没有包含优秀的示例告诉你为什么需要编写描述符(我得为Raymond Hettinger辩护一

Python——描述符(descriptor)解密

本文由 极客范 - 慕容老匹夫 翻译自 Chris Beaumont.欢迎加入极客翻译小组,同我们一道翻译与分享.转载请参见文章末尾处的要求. Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些“中级”的语言特性有着完善的文档,并且易于学习. 但是这里有个例外,那就是描述符.至少对于我来说,描述符是Python语言核心中困扰我时间最长的一个特性.这里有几点原因