python爬虫练手二

        前段时间分享了一段爬虫代码,主要功能是向某个指定网站POST一组字典数据后re返回的数据,最终显示在GUI界面上,也就是一个很简单的签名设计。但是代码前段时间还能跑,但最近就瞎了,返回了403,估计被反了。所以今天单独另外再换了一个网站,分享一下代码:

1.GUI设计

首先,肯定是设计GUI啦:


2、function post:

def一个函数,用于post数据,也就是我们需要设计的那个签名,通过抓包我们可以分析出提交数据相对应的网站网址、数据内容等东西。这里我们主要引入了urllib和urllib2这2个库(我用的是2.7版本,不过,听说3.x的把这2个库都整合在一起了)



def另外一个函数,用去将下载下来的图片显示在GUI上面


3、抓包简析

我使用的浏览器抓的包。火狐、谷歌都可以,当然,如果大家用的360也可以,我这儿就先以360作为例子吧:



****************************************************************************************************************************************************************************************

完整代码:

#-*-coding:utf8-*-
#!/usr/bin/env python

from Tkinter import *
import tkMessageBox
import re
import urllib,urllib2


def img():
	photo = PhotoImage(file='%s.gif'%e1.get(),width="500",height="300")
	a2 = Label(image = photo)
	a2.image = photo
	a2.grid(row=0,column=10)

def cu():
	name=e1.get().encode("utf8")
	data={
		"word":name,
		"sizes":****",
		"fonts":"******",
		"fontcolor":"********"
	}
	name=e1.get().encode("utf8")
	if e1.get()=="":
		tkMessageBox.showinfo("please input your name")
		return
	req=urllib2.Request('***************')
	url=*****************'
	data=urllib.urlencode(data)
	html=urllib2.urlopen(url,data) 
	#html=urllib2.urlopen('http://www.uustv.com/',data='*****************' %name)
	html=html.read()
	reg= re.compile(r'<div class="tu"><img src="tmp/(.*?)"/></div>')
	refd=re.findall(reg,html)
	#print 'http://www.uustv.com/%s'%refd[0]
	imgurl='http://www.uustv.com/tmp/%s'%refd[0]
	print "正在设计签名"
	urllib.urlretrieve(imgurl,'%s.gif' %name.decode('utf-8').encode('gbk'))
	img()


top=Tk()
top.title("python 签名设计")
top.geometry("+400+200")
top.resizable(width=False,height=False)
a1=Label(top,text="姓名")
a1.grid(row=0,column=0)

e1=Entry(top)
e1.grid(column=1,row=0)

b=Button(top,text="签名设计",command=cu)
b.grid(row=2,column=1)
top.mainloop()

效果图:


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值