之前在oschina上看到一个用python写的 代理刷网页点击量 ,最近学习了下Python的基本语法,仔细研读了下代码,
“代码主要实现网页的点击量,除了实现次功能点外,还有三个知识点:
1、随机获取代理ip,通过代理ip访问指定站点,其目的是防止ip被封
2、访问一个页面后,随机休息几秒,再访问,其目的是防止网站前面有4-7层过滤设备拦截
3、修改http的user agent字段,有些网站和4-7层设备会检查”

第一点,获取代理IP,这个功能很常用,例如投票、伪装自己,原帖在获取代理IP网页源代码后( urllib2),用正则表达式提取IP和端口号,而另一篇文章用第三方库BeautifulSoup来处理网页-“ 简单的博客文章爬虫”。
   第二点,发现原帖没访问一个页面后,就重新做第一步以更新代理IP列表,实际运行过程中,获取代理IP的过程用的时间很长,这是个小缺点,其实可以通过记录失败次数是否达到一个上限来决定是否更新代理IP列表。

本着学习熟练Python和黑客技巧的目的,决定仿照代理刷网页点击量的方法,重写一个Python程序,该程序用BeautifulSoup处理网页来获得代理IP列表。

两步走,首先实现获取代理IP列表,做成一个Module,方便以后其他程序用;第二步就是实现刷点击。

获取代理IP列表花了很长时间,原因我参考的BeautifulSoup学习网站用的不是最新版,而我下的却是最新版的BeautifulSoup 4, 无语~~~   教训是,以后这种技术还是用它自己的官方文档学比较好。
代码:-- proxyIPList.py

import urllib2,urllib,random
from bs4 import BeautifulSoup
#import Html
PROXYIPURL='http://www.xici.net.co/nn/'
#获取有代理IP的网页源代码
def getProxyHtml():page=urllib.urlopen(PROXYIPURL)html=page.read()return html
#    return Html.html
#解析网页获得代理IP列表
def getProxyIPList():print '---getting proxy ip html---'soup=BeautifulSoup(getProxyHtml())print '---proxy ip html gets!-----'   tr_list=soup.find_all('tr',{'class':True})proxy_list=[]for tr in tr_list:       ip_and_port=str(tr.contents[3].string)+":"+str(tr.contents[5].string)http_or_https=str(tr.contents[11].string).lower()a0='http://%s' % (ip_and_port)a1={'%s'%http_or_https:'%s'%a0}proxy_list.append(a1)return proxy_listif __name__=='__main__':
#    htmlText=getProxyHtml()
#    print htmlTextprint getProxyIPList()

原帖给的代理IP网站上不了,自己找了一个西刺网站,但访问速度较慢。

第二步的刷点击量就仿照原帖,修改了下更新代理IP列表,顺利多了。 main.py

import urllib2,re,time,urllib,random,user_agentsimport proxyIPListproxy_list=[]def getHtml(url):   proxy_ip =random.choice(proxy_list) #在proxy_list中随机取一个ipprint 'chose proxy ip:',proxy_ip   proxy_support = urllib2.ProxyHandler(proxy_ip)opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler)urllib2.install_opener(opener)request = urllib2.Request(url)user_agent = random.choice(user_agents.user_agents)  #在user_agents中随机取一个做user_agentrequest.add_header('User-Agent',user_agent) #修改user-Agent字段#print user_agenthtml = urllib2.urlopen(request).read()#return proxy_ip
URLS = ['http://jluhlh.blog.sohu.com/','http://item.taobao.com/item.htm?spm=a1z10.1.w4004-3674808198.4.8YvsgI&id=37755249622',]
proxy_list = proxyIPList.getProxyIPList()
count_False,count= 0,0
while True:for url in URLS:count +=1try:proxy_ip=getHtml(url)           except urllib2.URLError:#print 'URLError! The bad proxy is %s' %proxy_ipcount_False += 1except urllib2.HTTPError:#print 'HTTPError! The bad proxy is %s' %proxy_ipcount_False += 1except:#print 'Unknown Errors! The bad proxy is %s ' %proxy_ipcount_False += 1randomTime = random.uniform(1,3) #取1-10之间的随机浮点数time.sleep(randomTime) #随机等待时间print '%d Eroors,%d ok,总数 %d' %(count_False,count - count_False,count)if(count_False!=0 and count_False%10==0):#如果错误数太多则刷行代理IP列表proxy_list = proxyIPList.getProxyIPList()

另外还有一个 user_agents.py,定义了一个各种http请求头中user_agent的列表。  由于搜狐博客的限制,就不给出完全的代码了。

问题:
    运行之后点击量好像没增加,打算学习下urllib2代理访问的知识,再看看哪有问题。
   urllib2的http和https代理知识http://blog.csdn.net/liukeforever/article/details/6311282和http://blog.chinaunix.net/uid-20313988-id-143483.html。

后补充:修改好“ a0='http://%s' % (ip_and_port)”代码后,运行,还是没有增加点击量,不知道是不是因为我在虚拟机里运行python,而且是Nat上网。  当初图安装简单就用了ubuntu,也不知道什么原因,想改成Bridge上网,就是不成功。

后补充:在window7 上也装上了python,运行也不好使,在微信“程序猿”的文章里提到有可能是服务器在返回的页面里加了javascript代码

转自我的搜狐博客 http://jluhlh.blog.sohu.com/301490961.html

代理刷网页点击量-点到为止 2014-03-11 09:40相关推荐

  1. 通过代理刷网页点击量

    #!/usr/bin/python #-*- coding:utf-8 -*- ''' 此脚本主要实现网页的点击量,除了实现次功能点外,还有三个知识点: 1.随机获取代理ip,通过代理ip访问指定站点 ...

  2. python通过代理刷网页点击量

    更新异常处理情况 @time 2013-0803 更新循环里计数问题和随机等待时间问题 #!/usr/bin/python #-*- coding:utf-8 -*- ''' 此脚本主要实现网页的点击 ...

  3. 刷微信点击量的php,微信刷文章点击量软件使用的方法是什么?

    所有的微信公众号管理员都会希望自己的微信公众号文章点击量高,因为点击量一高,文章的价值就会得到提升,相应的收入就会增加哦!所以都会去使用微信刷文章点击量软件,应该怎么使用呢? 微信刷文章点击量软件使用 ...

  4. web实现统计网页点击量

    web实现统计网页点击量 下面是我写的网页HTML文件 源代码Hello world: package runoob; import java.io.*; import javax.servlet.* ...

  5. 刷微信点击量的php,PHP一键刷QQ微信支付宝步数代码

    PHP一键刷QQ微信支付宝步数代码,账号密码步数填好直接地址栏回车,想要自动刷就设定计划任务.每天自动刷,步数不要太多,容易封运动,导致步数别人看不到! 使用说明:http://域名/?mobile= ...

  6. android第三方视频解码器Vitamio SDK使用后的感觉(2014.03.11)

    Vitamio官方网址:http://www.vitamio.org/ Vitamio SDK下载地址: https://github.com/yixia/VitamioBundle Vitamio ...

  7. 用python刷网页浏览量_如何用python 增加网站点击量?

    简单一句话:就是调用你的浏览器,然后程序自动帮你打开你的网页,隔一段时间自动关闭.之后的步骤就是循环,刷访问量.下面看一篇文章: python3爬虫之访问量.点击率数据的爬取分析 1.明确问题: 通过 ...

  8. python广告刷量_Python一日一练05----怒刷点击量

    功能 自己主动获取CSDN文章列表,并对每篇文章添加点击量. 源代码 import urllib.request import re import time import random from bs ...

  9. python 编程一日一练-Python一日一练05----怒刷点击量

    功能 自己主动获取CSDN文章列表,并对每篇文章添加点击量. 源代码 import urllib.request import re import time import random from bs ...

最新文章

  1. 一维数组对象转成二维数组
  2. .NET 不规则、可改变大小、边框半透明窗体设计
  3. Android中Gallery和ImageSwitcher的使用
  4. STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收
  5. *【CodeForces - 1088 ABC】套题比赛,A水题B模拟C构造D交互
  6. file获取文件后缀_Python 工匠:高效操作文件的三个建议
  7. 关于监听套接字的形象解释
  8. android画数码管字体,如何为数字设置数码管LED字体
  9. java计算机毕业设计网上书店进销存管理系统源程序+mysql+系统+lw文档+远程调试
  10. 定时任务时间表达式规则
  11. 一个粗糙的js分页判断
  12. 简单快速的视觉里程计入门(Visual odometry)
  13. nssa和stub_华为stub、nssa区域配置
  14. 图片阴影怎么设置_电影大片风格!教你用PS调出胶片质感的图片
  15. 【夏季养生以心为大】
  16. 雷锋工厂模式(笔记)
  17. 最近很火的在线文件预览txt、doc、ppt、pdf、excel、jpg、png、zip、tar.gz等各种文件及压缩文件在线解压和预览,包括前后端设计和源码,编写搜索引擎多关键词检索名称和内容(四)
  18. JavaScript入门学习指南
  19. java 泛型缺点_Go 与 泛型: 优点 or 缺陷
  20. 机器学习——逻辑回归

热门文章

  1. Android 如何将定制的Launcher成为系统中唯一的Launcher
  2. 如何在公众号文章正文添加附件?本文教你轻松实现
  3. php案例:字符串压缩解压
  4. 小米官宣造车!投资百亿美元,雷军哽咽,压上全部声誉!
  5. python求积分_python 求定积分和不定积分示例
  6. 平板触控笔那种好,比较好用的ipad手写笔
  7. ORA-609 错误分析及解决方法
  8. 苹果x和xsmax有什么区别_手机资讯:Apple 认证的翻新产品是什么苹果官方翻新机和全新设备有什么区别...
  9. 计算机无法自动更新,电脑时间不能自动更新了怎么办?每次开机都要重新设置时间...
  10. 优思学院|QCC 是什么意思?有什么用?