Python 自动刷博客浏览量实例代码
|
思路来源 今天很偶然的一个机会,听到别人在谈论现在的“刷量”行为,于是就激发了我的好奇心。然后看了下requests模块正好对我有用,就写了一个简单的测试用例。神奇的发现这一招竟然是管用的。那还等什么,开刷咯。 前奏 思路很简单,就是一个发送请求的实现,就可以了。代码如下:
headers = {
'referer':'http://jb51.net/','User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/50.0.2661.94 Safari/537.36'
}
def getHtml(url,headers):
req = urllib2.Request(url,headers=headers)
page = urllib2.urlopen(req)
html = page.read()
return html
我们手动的添加一下目标url以及一个headers就可以了。我自然的会用自己的做下测试咯。 代码试着运行了一下,确实是可以增加浏览量滴。 慢增长 既然这样的方案是可行的,那就说明思路是正确的了。于是我们自然会想到写一个循环吧。这样不就能实现大量的浏览的增加了吗? i= 0 while i < 10: url = 'http://jb51.net/marksinoberg/article/details/51501377' getHtml(url,headers) 刚开始的时候,可以明显的看到博客数量的增加,(^__^) 嘻嘻……初见成效咯。但是好景不长,我发现浏览量增加了10次之后。就呵呵了。 然后就不能增加了,估计是服务器对我这个访问做了一定的限制了,否则按理说应该是可行的。 想方设法对坑 俗话说“上有政策,下有对策”,我自然不能受这个约束啊,于是我就猜想是对我的IP进行了记录。然后对我的访问次数添加了一些限制。 我的解决办法:
C:UsersAdministrator>ipconfig /release Windows IP 配置 不能在 本地连接 上执行任何操作,它已断开媒体连接。 无线局域网适配器 无线网络连接: 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 本地连接: 媒体状态 . . . . . . . . . . . . : 媒体已断开 以太网适配器 VMware Network Adapter VMnet1: 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 VMware Network Adapter VMnet8: 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 VirtualBox Host-Only Network: 连接特定的 DNS 后缀 . . . . . . . : 隧道适配器 isatap.{4F399971-B739-4B71-BD79-E48233EEC9BE}: 媒体状态 . . . . . . . . . . . . : 媒体已断开 隧道适配器 isatap.{1860C94E-1007-4418-9A26-7D8AA8F06E15}: 媒体状态 . . . . . . . . . . . . : 媒体已断开 隧道适配器 isatap.OurEDA.cn: 媒体状态 . . . . . . . . . . . . : 媒体已断开 隧道适配器 isatap.dlut.edu.cn: 媒体状态 . . . . . . . . . . . . : 媒体已断开 隧道适配器 isatap.{6F7F27ED-942E-4EFB-ACF2-A4E8793B161D}: 媒体状态 . . . . . . . . . . . . : 媒体已断开 C:UsersAdministrator>ipconfig /renew Windows IP 配置 不能在 本地连接 上执行任何操作,它已断开媒体连接。 无线局域网适配器 无线网络连接: 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 本地连接: 媒体状态 . . . . . . . . . . . . : 媒体已断开 以太网适配器 VMware Network Adapter VMnet1: 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 VMware Network Adapter VMnet8: 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 VirtualBox Host-Only Network: 连接特定的 DNS 后缀 . . . . . . . : 隧道适配器 isatap.{4F399971-B739-4B71-BD79-E48233EEC9BE}: 媒体状态 . . . . . . . . . . . . : 媒体已断开 隧道适配器 isatap.{1860C94E-1007-4418-9A26-7D8AA8F06E15}: 媒体状态 . . . . . . . . . . . . : 媒体已断开 隧道适配器 isatap.OurEDA.cn: 媒体状态 . . . . . . . . . . . . : 媒体已断开 隧道适配器 isatap.dlut.edu.cn: 媒体状态 . . . . . . . . . . . . : 媒体已断开 隧道适配器 isatap.{6F7F27ED-942E-4EFB-ACF2-A4E8793B161D}: 媒体状态 . . . . . . . . . . . . : 媒体已断开 是的,想必大家都看到了。核心的两个命令就是 // 更改路由表的配置 ipconfig / release // 释放网络, ipconfig /renew // 重新分配IP 这样基本上对于改变自己的IP是有点效果的。尤其是对局域网用户而言。 所以,我只需要在Python代码中调用系统的cmd命令,就可以动态的改变自己的IP了。也就达成了我的需求了 难题 虽然IP的问题解决了,但是这样刷的话,还是太慢。因为路由表的更新时需要时间的。而这和代码运行的速度比起来,真的是太慢太慢了。而且每次只能刷出十个浏览量,额。确实是比较的尴尬啊。费了这么大的劲,才刷了十个浏览量。怎么解决这个问题呢? 我其实也没有真正的解决这个问题,但是我发现这个限制也是不特别的强,因为我中途吃了个饭,回来的时候就发现原来的IP又可以刷了。大概45分钟左右的间隔吧!这是个突破点。 其实思路很简单,就是想方设法的针对问题解决问题。不管对方的系统多么的坚固,也不可能是天衣无缝,总会有一种解决的办法的。下面是代码。
# coding:utf-8
# __author__ = 'Mark sinoberg'
# __date__ = '2016/5/26'
# __Desc__ = 测试测试 刷新自己的博客的浏览量
import urllib2,re
from bs4 import BeautifulSoup
def getHtml(url,headers=headers)
page = urllib2.urlopen(req)
html = page.read()
return html
def parse(data):
content = BeautifulSoup(data,'lxml')
return content
def getReadNums(data,st):
reg = re.compile(st)
return re.findall(reg,data)
url = 'http://jb51.net/marksinoberg/article/details/51493318'
headers = {
'referer':'http://jb51.net/',like Gecko) Chrome/50.0.2661.94 Safari/537.36'
}
i = 0
while i<24:
html = getHtml(url,headers)
content = parse(html)
result = content.find_all('span',class_='link_view')
print result[0].get_text()
i = i +1
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
