python获取糗百图片代码实例

yipeiwu_com6年前Python基础

复制代码 代码如下:

from sgmllib import SGMLParser
import urllib2

class sgm(SGMLParser):
    def reset(self):
        SGMLParser.reset(self)
        self.srcs=[]
        self.ISTRUE=True

    def start_div(self,artts):
        for k,v in artts:
            if v=="author":
                self.ISTRUE=False
    def end_div(self):
        self.ISTRUE=True
    def start_img(self,artts):
        for k,v in artts:
            if k=="src" and self.ISTRUE==True:
                self.srcs.append(v)

    def download(self):
        for src in self.srcs:
            f=open(src[-12:],"wb")
            print src
            img=urllib2.urlopen(src)
            f.write(img.read())
            f.close()
sgm=sgm()
for page in range(1,500):
    url="http://www.qiushibaike.com/late/page/%s?s=4622726" % page
    data=urllib2.urlopen(url).read()
    sgm.feed(data)
    sgm.download()

相关文章

Python获取Linux系统下的本机IP地址代码分享

有时候使用到获取本机IP,就采用以下方式进行。 复制代码 代码如下: #!/usr/bin/python   import socket import struct impor...

Django实现一对多表模型的跨表查询方法

当有两个表,例如一个学生表,一个班级表,是多对一的关系。 方法1: c = models.Class.object.get(pk=1) #查询到ID为1的班级 stus = mode...

基于python的Tkinter编写登陆注册界面

tkinter创建登陆注册界面,供大家参考,具体内容如下 import tkinter as tk from tkinter import messagebox #设置窗口居中...

python一行sql太长折成多行并且有多个参数的方法

sql语句 有一个非常长的sql,用编辑器打开编写的时候太长了导致编写非常吃力,而且容易错乱,我想做的是把A,B,C三个变量赋值到sql中的字段中去 A=1 B=2 C=3 sql...

详解Python实现按任意键继续/退出的功能

前言 要实现该功能,需要的就是暂停程序、等待并捕捉用户的一个键盘输入,然后继续执行。Python 有内建的库能帮我们实现该功能,不过要区别对待 Windows 和 Linux。 msvc...