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. if __name__=="__main__":
  37.  
  38. Domain="http://blog.csdn.net"
  39. main_url = "http://blog.csdn.net/u013018721"
  40. patt_article = r'<span class="link_title"><a href="(.+)">'
  41.  
  42. Mainrequest=urllib2.Request(main_url)
  43. 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')
  44. opener = urllib2.build_opener()
  45. fMainblog = opener.open(Mainrequest)
  46. Mainhtml= fMainblog.read()
  47. article_urls = re.findall(patt_article,Mainhtml)
  48. threadnumber = 1
  49. MaxVisitor = 300
  50. timedelay=3
  51. for item in article_urls:
  52. Realurl = Domain+item
  53. thread.start_new_thread(BlogFun,(timedelay,Realurl,MaxVisitor,))
  54. threadnumber=threadnumber+1

python刷取CSDN博文访问量之三的更多相关文章

  1. python刷取CSDN博文访问量之四

    python刷取CSDN博文访问量之四 作者:vpoet #coding:utf-8 import requests import urllib2 import re import time def ...

  2. python刷取CSDN博文访问量之二

    python刷取CSDN博文访问量之二 作者:vpoet 注:这个系列我只贴代码,代码不注释.有兴趣的自己读读就懂了,纯属娱乐,望管理员抬手      若有转载一定不要注明来源 #coding=utf ...

  3. python刷取CSDN博文访问量之一

    python刷取CSDN博文访问量之一 作者:vpoet 注:这个系列我只贴代码,代码不注释.有兴趣的自己读读就懂了,纯属娱乐,望管理员抬手 若有转载一定不要注明来源   #coding=utf-8 ...

  4. Python爬取CSDN博客文章

    0 url :http://blog.csdn.net/youyou1543724847/article/details/52818339Redis一点基础的东西目录 1.基础底层数据结构 2.win ...

  5. 使用python抓取CSDN关注人的全部公布的文章

    # -*- coding: utf-8 -*- """ @author: jiangfuqiang """ import re import ...

  6. 利用Python抓取CSDN博客

    这两天发现了一篇好文章,陈皓写的makefile的教程,具体地址在这里<跟我一起写makefile> 这篇文章一共分成了14个部分,我看东西又习惯在kindle上面看,感觉一篇一篇地复制成 ...

  7. Python 爬取CSDN博客频道

    初次接触python,写的很简单,开发工具PyCharm,python 3.4很方便 python 部分模块安装时需要其他的附属模块之类的,可以先 pip install wheel 然后可以直接下载 ...

  8. [Python]爬取CSDN论坛 标题 2020.2.8

    首先新建一个Lei.txt 内容为: CloudComputingParentBlockchainTechnologyEnterpriseDotNETJavaWebDevelopVCVBDelphiB ...

  9. [Python学习] 简单爬取CSDN下载资源信息

    这是一篇Python爬取CSDN下载资源信息的样例,主要是通过urllib2获取CSDN某个人全部资源的资源URL.资源名称.下载次数.分数等信息.写这篇文章的原因是我想获取自己的资源全部的评论信息. ...

随机推荐

  1. 虚拟机环境中安装ubuntu下的mysql-cluster7.3.2(单点服务器)

      部署环境: 系统:ubuntu-12.04.2 LTS -server-i386.iso Cluster:mysql-cluster-gpl-7.3.2-linux-glibc23-i686.ta ...

  2. Animation Override Controller动画重载器

    假设游戏有很多个小人, 每一个人有2种动画站立,跑.  在通常情况下每一个人物都需要一个动画控制器. 有没有想过定义一个动画控制器 无须在定义全新的动画充值器实现每一个小人都播放自己的动画呢?没错An ...

  3. linux学习方法之二

    相信不少想学习linux的新手们正愁不知道看什么linux学习教程好,下面小编给大家收集和整理了几点比较重要的教程,供大家学习,如需想学习更多的话,可到wdlinux学堂寻找更多教程. 安装php扩展 ...

  4. OpenGL——点的绘制(使用OpenGL来绘制可旋转坐标系的螺旋线)

    package com.example.opengl1; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio. ...

  5. BOOST 线程完全攻略 - 扩展 - 可被关闭的线程类

    本文假设读者已经基本了解boost线程库的使用方法. boost是个开源工程,线程这一块也在不断完善之中,到现在这个阶段,boost::thread仅仅实现了一个完美的技术框架,但是读者在实际使用中会 ...

  6. UISwitch + UIimage - 初识IOS

    这里解释一个小例子,希望对你有点帮助,利用UISwitch控制UIimage的动画效果 先定义一个数组,用来存放照片,现在定义数组有一个特别简单的方法: NSArray *image1 = @[]; ...

  7. Html5移动端页面布局通用模板暨移动端问题总结

    最近的移动端项目终于告一段落了,其中遇到了不少问题,在此和大家总结分享. 首先,说一下结构.一般的手机页面大致可以分为五块:head, content, foot,solidbar,dialog. 针 ...

  8. border-radius讲解2

    一:border-radius只有一个取值时,四个角具有相同的圆角设置,其效果是一致的: .demo { border-radius: 10px; } 其等价于: .demo{ border-top- ...

  9. 创建一个简单的配置android编译环境的脚本

    由于有多个Android项目,每个项目配置编译环境时选项都不同,所以尝试写一个sh脚本来完成这个功能.     首先进入bin文件夹,新建一个文件enbuild $ cd ~/bin $ touch ...

  10. 一篇文章讲清楚android ImageView.ScaleType

    2016-01-10 刚开始android编程的时候, 关于ImageView.ScaleType网络上好多, 说实话没看懂. 本文就是为了讲清楚这个, 有用的话转走, 请注明原地址和作者. 典型的代 ...