国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python 自動刷博客瀏覽量實例代碼

2020-01-04 17:20:26
字體:
來源:轉載
供稿:網友

思路來源

今天很偶然的一個機會,聽到別人在談論現在的“刷量”行為,于是就激發了我的好奇心。然后看了下requests模塊正好對我有用,就寫了一個簡單的測試用例。神奇的發現這一招竟然是管用的。那還等什么,開刷咯。

前奏

思路很簡單,就是一個發送請求的實現,就可以了。代碼如下:

headers = {  'referer':'http://vevb.com/',  '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= 0while i < 10:  url = 'http://vevb.com/marksinoberg/article/details/51501377'  getHtml(url,headers)

剛開始的時候,可以明顯的看到博客數量的增加,(^__^) 嘻嘻……初見成效咯。但是好景不長,我發現瀏覽量增加了10次之后。就呵呵了。

然后就不能增加了,估計是服務器對我這個訪問做了一定的限制了,否則按理說應該是可行的。

想方設法對坑

俗話說“上有政策,下有對策”,我自然不能受這個約束啊,于是我就猜想是對我的IP進行了記錄。然后對我的訪問次數添加了一些限制。

我的解決辦法:

  1. 代理IP進行訪問:但是考慮到沒有服務器,所以代理不了IP進行訪問了。
  2. 改變IP:既然是這樣,那我就想辦法改變自己的ip來進行訪問唄。那么怎么改變自己的IP呢?(現在想想好后悔,當時計算機網絡沒有好好聽課,IP欺騙沒有學好,否則現在不就可以用了嘛)。但是條條大路通羅馬嘛,我還有其他的方法。如下:

C:/Users/Administrator>ipconfig /release

Windows IP 配置

不能在 本地連接 上執行任何操作,它已斷開媒體連接。

無線局域網適配器 無線網絡連接:

   連接特定的 DNS 后綴 . . . . . . . :
   本地鏈接 IPv6 地址. . . . . . . . : fe80::1d9f:d97b:fd16:1f6f%
   默認網關. . . . . . . . . . . . . :

以太網適配器 本地連接:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . : OurEDA.cn

以太網適配器 VMware Network Adapter VMnet1:

   連接特定的 DNS 后綴 . . . . . . . :
   本地鏈接 IPv6 地址. . . . . . . . : fe80::359d:e81d:741:f257%1
   IPv4 地址 . . . . . . . . . . . . : 192.168.229.1
   子網掩碼  . . . . . . . . . . . . : 255.255.255.0
   默認網關. . . . . . . . . . . . . :

以太網適配器 VMware Network Adapter VMnet8:

   連接特定的 DNS 后綴 . . . . . . . :
   本地鏈接 IPv6 地址. . . . . . . . : fe80::94b1:d10f:b68:101d%1
   IPv4 地址 . . . . . . . . . . . . : 192.168.244.1
   子網掩碼  . . . . . . . . . . . . : 255.255.255.0
   默認網關. . . . . . . . . . . . . :

以太網適配器 VirtualBox Host-Only Network:

   連接特定的 DNS 后綴 . . . . . . . :
   本地鏈接 IPv6 地址. . . . . . . . : fe80::a5eb:545c:7d89:9451%
   IPv4 地址 . . . . . . . . . . . . : 192.168.56.1
   子網掩碼  . . . . . . . . . . . . : 255.255.255.0
   默認網關. . . . . . . . . . . . . :

隧道適配器 isatap.{4F399971-B739-4B71-BD79-E48233EEC9BE}:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

隧道適配器 isatap.{1860C94E-1007-4418-9A26-7D8AA8F06E15}:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

隧道適配器 isatap.OurEDA.cn:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

隧道適配器 isatap.dlut.edu.cn:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

隧道適配器 isatap.{6F7F27ED-942E-4EFB-ACF2-A4E8793B161D}:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

C:/Users/Administrator>ipconfig /renew

Windows IP 配置

不能在 本地連接 上執行任何操作,它已斷開媒體連接。

無線局域網適配器 無線網絡連接:

   連接特定的 DNS 后綴 . . . . . . . :
   本地鏈接 IPv6 地址. . . . . . . . : fe80::1d9f:d97b:fd16:1f6f%12
   IPv4 地址 . . . . . . . . . . . . : 192.168.58.70
   子網掩碼  . . . . . . . . . . . . : 255.255.252.0
   默認網關. . . . . . . . . . . . . : 192.168.56.1

以太網適配器 本地連接:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . : OurEDA.cn

以太網適配器 VMware Network Adapter VMnet1:

   連接特定的 DNS 后綴 . . . . . . . :
   本地鏈接 IPv6 地址. . . . . . . . : fe80::359d:e81d:741:f257%14
   IPv4 地址 . . . . . . . . . . . . : 192.168.229.1
   子網掩碼  . . . . . . . . . . . . : 255.255.255.0
   默認網關. . . . . . . . . . . . . :

以太網適配器 VMware Network Adapter VMnet8:

   連接特定的 DNS 后綴 . . . . . . . :
   本地鏈接 IPv6 地址. . . . . . . . : fe80::94b1:d10f:b68:101d%15
   IPv4 地址 . . . . . . . . . . . . : 192.168.244.1
   子網掩碼  . . . . . . . . . . . . : 255.255.255.0
   默認網關. . . . . . . . . . . . . :

以太網適配器 VirtualBox Host-Only Network:

   連接特定的 DNS 后綴 . . . . . . . :
   本地鏈接 IPv6 地址. . . . . . . . : fe80::a5eb:545c:7d89:9451%16
   IPv4 地址 . . . . . . . . . . . . : 192.168.56.1
   子網掩碼  . . . . . . . . . . . . : 255.255.255.0
   默認網關. . . . . . . . . . . . . :

隧道適配器 isatap.{4F399971-B739-4B71-BD79-E48233EEC9BE}:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

隧道適配器 isatap.{1860C94E-1007-4418-9A26-7D8AA8F06E15}:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

隧道適配器 isatap.OurEDA.cn:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

隧道適配器 isatap.dlut.edu.cn:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

隧道適配器 isatap.{6F7F27ED-942E-4EFB-ACF2-A4E8793B161D}:

   媒體狀態  . . . . . . . . . . . . : 媒體已斷開
   連接特定的 DNS 后綴 . . . . . . . :

是的,想必大家都看到了。核心的兩個命令就是

// 更改路由表的配置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,refrom bs4 import BeautifulSoupdef getHtml(url,headers):  req = urllib2.Request(url,headers=headers)  page = urllib2.urlopen(req)  html = page.read()  return htmldef parse(data):  content = BeautifulSoup(data,'lxml')  return contentdef getReadNums(data,st):  reg = re.compile(st)  return re.findall(reg,data)url = 'http://vevb.com/marksinoberg/article/details/51493318'headers = {  'referer':'http://vevb.com/',  'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36'}i = 0while 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

代碼運行結果:

D:/Software/Python2/python.exe E:/Code/Python/MyTestSet/ulib2/AddWatcher.py94人閱讀95人閱讀96人閱讀97人閱讀98人閱讀99人閱讀100人閱讀101人閱讀102人閱讀103人閱讀104人閱讀105人閱讀106人閱讀107人閱讀108人閱讀109人閱讀110人閱讀111人閱讀112人閱讀113人閱讀114人閱讀115人閱讀115人閱讀115人閱讀Process finished with exit code 0

比較好的地方就是使用了BeautifulSoup抓取了特定位置的數據,這里是對瀏覽量的抓取。從上面的結果也可以看出,一個IP抓取的數據量是有限制的,一般來說是10~30個,這里貌似是22次訪問。

展望

其實我是可以做到一次運行多次刷新的效果的,但是這樣做不是特別的正派,所以我就說一下自己的思路吧。

  1. 對result(瀏覽量結果)做判斷,當出現連續的兩次結果一致的時候,開啟python執行cmd命令,更新自己的IP。但是這是個耗時操作,可以放到一個線程里面
  2. 再就是對自己的博客list界面進行抓取,獲得自己的所有的博文。當然,這里很明顯會使用到模擬登陸。然后對每一個博客進行刷量。這樣雖然沒有真正的解決問題,但是積少成多,也會起到一個不錯的效果。
  3. 做一個定時刷量的線程,每隔XX時間刷新一遍。這樣一天下來,一篇文章大概也能實現幾百的訪問吧。(我沒試過,我也不知道)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。

 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石景山区| 揭西县| 邹城市| 洛宁县| 韩城市| 乐业县| 宁蒗| 临桂县| 井陉县| 定结县| 翼城县| 芦山县| 屯门区| 本溪| 苗栗县| 崇义县| 图们市| 西乌| 闽侯县| 娱乐| 广饶县| 崇仁县| 星子县| 永昌县| 台北县| 靖远县| 财经| 建水县| 柳林县| 永宁县| 嘉义市| 五峰| 津市市| 庐江县| 长海县| 芒康县| 北宁市| 霞浦县| 柘城县| 望谟县| 黎平县|