자기가 쓴 약간의 복지 코드(3)

2053 단어 복리
자기가 쓴 약간의 복지 코드(3)
저자: vpoet 주: 이 시리즈는 코드만 붙이고 코드는 주석하지 않습니다.흥미 있는 사람은 스스로 읽어 보면 알겠지만, 순전히 오락이므로, 관리자가 손을 들어 전재가 있으면 반드시 출처를 밝히지 않기를 바랍니다
#coding=utf-8
import webbrowser
import time
import urllib2
import re
import os
import thread
import threading
mylock = threading.RLock()  

tabcount=1

def BlogFun(n,url,MaxVisitor):
    visitcount = r'<span class="link_view" title="    ">(\d+)   </span>'
    global tabcount 
    while True:
        mylock.acquire()  
        if tabcount >10:
            os.system('taskkill /F /IM chrome.exe')
            tabcount = 1
        else:
            tabcount = tabcount + 1
        mylock.release()  
        webbrowser.open(url,new=1)
        request=urllib2.Request(url)
        request.add_header('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6')
        opener = urllib2.build_opener()
        fblog = opener.open(request)
        htm = fblog.read()
        Ref=re.findall(visitcount,htm);
        #print url+": "+str(int(Ref[0]))+"   "
        if int(Ref[0])>MaxVisitor:
            break
        time.sleep(n)


if __name__=="__main__":

    
    Domain="http://blog.csdn.net"
    main_url = "http://blog.csdn.net/u013018721"
    patt_article = r'<span class="link_title"><a href="(.+)">'

    Mainrequest=urllib2.Request(main_url)
    Mainrequest.add_header('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6')
    opener = urllib2.build_opener()
    fMainblog = opener.open(Mainrequest)
    Mainhtml= fMainblog.read()
    article_urls = re.findall(patt_article,Mainhtml)
    threadnumber = 1
    MaxVisitor = 300
    timedelay=3
    for item in article_urls:
        Realurl =  Domain+item
        thread.start_new_thread(BlogFun,(timedelay,Realurl,MaxVisitor,))
        threadnumber=threadnumber+1
    

좋은 웹페이지 즐겨찾기