如何用python写qq聊天程序_如何用c语言编写QQ聊天程序(源代码)
展开全部#-*-coding:utf-8-*-"""CreatedonFriAug0717:30:582015@author:Dreace"""importurllib2importsysimporttimeimportosimportrandomfrommultiprocessing.dummyimportPoolasThreadPooltype_=...
展开全部
# -*- coding: utf-8 -*-
"""
Created on Fri Aug 07 17:30:58 2015
@author: Dreace
"""
import urllib2
import sys
import time
import os
import random
from multiprocessing.dummy import Pool as ThreadPool
type_ = sys.getfilesystemencoding()
def rename():
return time.strftime("%Y%m%d%H%M%S")
def rename_2(name):
if len(name) == 2:
name = '0' + name
elif len(name) == 1:
name = '00' + name
else:
name = name
return name
def download_pic(i):
global count
global time_out
if Filter(i):
try:
content = urllib2.urlopen(i,timeout = time_out)
url_content = content.read()
file_name = rename_2(repr(count)) + "_" + repr(random.randint(10000,999999999)) + ".jpg"
f = open(file_name,"wb")
f.write(url_content)
f.close()
if os.path.getsize(file_name) >= 1024*11:
count += 1
else:
os.remove(file_name)
except Exception, e:
print e
def Filter(content):
for line in Filter_list:
if content.find(line) == -1:
return True
def get_pic(url_address):
global pic_list
global time_out
global headers
try:
req = urllib2.Request(url = url_address,headers = headers)
str_ = urllib2.urlopen(req, timeout = time_out).read()
url_content = str_.split("\'")
for i in url_content:
if i.find(".jpg") != -1:
pic_list.append(i)
except Exception, e:
print e
MAX = 100
count = 0
time_out = 60
thread_num = 50
pic_list = []
page_list = []
pic_kind = ["hot","share","mm","taiwan","japan","model"]
Filter_list = ["imgsize.ph.126.net","img.ph.126.net","img2.ph.126.net"]
dir_name = "F:\Photos\\"+rename()
os.makedirs(dir_name)
os.chdir(dir_name)
start_time = time.time()
#url_address = "
url_address = "
headers = {"User-Agent":" Mozilla/5.0 (Windows NT 10.0; rv:39.0) Gecko/20100101 Firefox/39.0"}
for pic_i in pic_kind:
for i in range(1,MAX + 1):
page_list.append(url_address + pic_i + "/page/" + repr(i))
page_pool = ThreadPool(thread_num)
page_pool.map(get_pic,page_list)
page_pool.close()
page_pool.join()
print "获取到".decode("utf-8").encode(type_),len(pic_list),"张图片,开始下32313133353236313431303231363533e78988e69d8331333337613230载!".decode("utf-8").encode(type_)
pool = ThreadPool(thread_num)
pool.map(download_pic,pic_list)
pool.close()
pool.join()
print count,"张图片保存在".decode("utf-8").encode(type_) + dir_name
print "共耗时".decode("utf-8").encode(type_),time.time() - start_time,"s"
#Python2.7.10---httplib2-0.7.7-----
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)