zoukankan      html  css  js  c++  java
  • python刷取CSDN博文访问量之三

    python刷取CSDN博文访问量之三
     
    作者:vpoet
    注:这个系列我只贴代码,代码不注释.有兴趣的自己读读就懂了,纯属娱乐,望管理员抬手
    若有转载一定不要注明来源
     1 #coding=utf-8
     2 import webbrowser
     3 import time
     4 import urllib2
     5 import re
     6 import os
     7 import thread
     8 import threading
     9 mylock = threading.RLock()  
    10 
    11 tabcount=1
    12 
    13 def BlogFun(n,url,MaxVisitor):
    14     visitcount = r'<span class="link_view" title="阅读次数">(d+)人阅读</span>'
    15     global tabcount 
    16     while True:
    17         mylock.acquire()  
    18         if tabcount >10:
    19             os.system('taskkill /F /IM chrome.exe')
    20             tabcount = 1
    21         else:
    22             tabcount = tabcount + 1
    23         mylock.release()  
    24         webbrowser.open(url,new=1)
    25         request=urllib2.Request(url)
    26         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')
    27         opener = urllib2.build_opener()
    28         fblog = opener.open(request)
    29         htm = fblog.read()
    30         Ref=re.findall(visitcount,htm);
    31         #print url+": "+str(int(Ref[0]))+"人阅读"
    32         if int(Ref[0])>MaxVisitor:
    33             break
    34         time.sleep(n)
    35 
    36 
    37 if __name__=="__main__":
    38 
    39     
    40     Domain="http://blog.csdn.net"
    41     main_url = "http://blog.csdn.net/u013018721"
    42     patt_article = r'<span class="link_title"><a href="(.+)">'
    43 
    44     Mainrequest=urllib2.Request(main_url)
    45     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')
    46     opener = urllib2.build_opener()
    47     fMainblog = opener.open(Mainrequest)
    48     Mainhtml= fMainblog.read()
    49     article_urls = re.findall(patt_article,Mainhtml)
    50     threadnumber = 1
    51     MaxVisitor = 300
    52     timedelay=3
    53     for item in article_urls:
    54         Realurl =  Domain+item
    55         thread.start_new_thread(BlogFun,(timedelay,Realurl,MaxVisitor,))
    56         threadnumber=threadnumber+1
  • 相关阅读:
    使用Mockito进行单元测试【2】—— stub 和 高级特性[转]
    使用Mockito进行单元测试【1】——mock and verify[转]
    一个更加简洁的 建造者模式
    建造者模式
    另一种 模板模式
    模板模式
    适配器模式的另一种解释
    适配器模式
    迭代器模式
    迭代器模式 循环数组
  • 原文地址:https://www.cnblogs.com/vpoet/p/4659562.html
Copyright © 2011-2022 走看看