分享一篇用Python刷瀏覽量的實例教學
本篇主要介紹了Python 自動刷部落格瀏覽量實例程式碼,小編覺得蠻不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧
思路來源
今天很偶然的一個機會,聽到別人在談論現在的「刷量」行為,於是就激發了我的好奇心。然後看了下requests模組剛好對我有用,就寫了一個簡單的測試案例。神奇的發現這一招竟然是管用的。那還等什麼,開刷咯。
前奏
思路很簡單,就是一個發送請求的實現,就可以了。程式碼如下:
headers = { 'referer':'www.php.cn', '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 = 'jb51.net/marksinoberg/article/details/51501377' getHtml(url,headers)
剛開始的時候,可以明顯的看到部落格數量的增加,(^^) 嘻嘻…初見成效咯。但好景不長,我發現瀏覽量增加了10次之後。就呵呵了。
然後就不能增加了,估計是伺服器對我這個存取做了一定的限制了,否則照理說應該是可行的。
想辦法對坑
俗話說“上有政策,下有對策”,我自然不能受這個約束啊,於是我就猜想是對我的IP進行了記錄。然後對我的訪問次數添加了一些限制。
我的解決方法:
#代理IP進行存取:但是考慮到沒有伺服器,所以代理不了IP進行存取了。
改變IP:既然是這樣,那我就想辦法改變自己的ip來進行存取唄。那要怎麼改變自己的IP呢? (現在想想好後悔,當時電腦網路沒有好好聽課,IP欺騙沒有學好,否則現在不就可以用了嘛)。但是條條大路通羅馬嘛,我還有其他的方法。如下:
C:\Users\Administrator>ipconfig /release
Windows IP 設定
不能在本機連線上執行任何操作,它已斷開媒體連線。
無線局域網適配器無線網絡連接:
連接特定的DNS 後綴. . . . . . . :
本地鏈接IPv6 地址. . . . . . . . : fe80: :1d9f:d97b:fd16:1f6f%
預設閘道. . . . . . . . . . . . . :
乙太網路介面卡本地連線:
## 媒體狀態 媒體狀態. . . . . . . . . . . : 媒體已斷開 連接特定的DNS 後綴. . . . . . . : OurEDA.cn
## 連接特定的DNS 後綴. . . . . . . :
連接特定的DNS 後綴. . . . . . . :
本地連結IPv6 位址. . . . . . . . : fe80::359d:e81d:741: IPvf257%11: 位址. . . . . . . . . . . . : 192.168.229.1
子網路遮罩 . . . . . . . . . . . : 255.25. . . . .# . . . . . . . :
本地連結連結. . . . . . . : fe80::94b1:d10f:b68:101d%1
IPv4 位址. . . . . . . . . . . . : 192.168.24.1168.24.1 掩體遮罩 # . . . . . . . . . . : 255.255.255.0
預設閘道. . . . . . . . . . . . . :
#-On Network-OnirtualBox Host-Cost
本地連結IPv6 位址. . . . . . . . : fe80::a5eb:545c:7d89:9451%#. . . . . . . . . . . : 192.168.56.1
子網路遮罩 . . . . . . . . . . .# 子網路遮罩 . . . . . . . . . . . . . . . :
隧道適配器isatap.{4F399971-B739-4B71-BD79-E48233EEC9BE}:
媒體狀態 . . . . . .
## 媒體狀態 . . . . .媒體. .
連結特定的DNS 字尾. . . . . . . :
隧道適配器isatap.{1860C94E-1007-4418-9A26-7D8AA8F06E15}:## 媒體狀態 媒體狀態。 . . . . . . . . . . . : 媒體已斷開
連接特定的DNS 後綴. . . . . . . :
隧道適配器加總機。 ## 媒體狀態 . . . . . . . . . . . . : 媒體已斷開
連接特定的DNS 後綴. . . . . . . :isd##隧道配器適配器. dl
ut.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,re from bs4 import BeautifulSoup def getHtml(url,headers): req = urllib2.Request(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/', '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 = 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
代码运行结果:
D:\Software\Python2\python.exe E:/Code/Python/MyTestSet/ulib2/AddWatcher.py 94人阅读 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次访问。
展望
其实我是可以做到一次运行多次刷新的效果的,但是这样做不是特别的正派,所以我就说一下自己的思路吧。
對result(瀏覽量結果)做判斷,當出現連續的兩次結果一致的時候,開啟python執行cmd指令,更新自己的IP。但這是個耗時操作,可以放到一個線程裡面
再就是對自己的博客list介面進行抓取,獲得自己的所有的博文。當然,這裡很明顯會使用到模擬登陸。然後對每一個部落格進行刷量。這樣雖然沒有真正的解決問題,但是積少成多,也會有一個不錯的效果。
做一個定時刷量的線程,每隔XX時間刷新一遍。這樣一天下來,一篇文章大概也能實現幾百的訪問吧。 (我沒試過,我也不知道)
以上是分享一篇用Python刷瀏覽量的實例教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

MySQL 有免費的社區版和收費的企業版。社區版可免費使用和修改,但支持有限,適合穩定性要求不高、技術能力強的應用。企業版提供全面商業支持,適合需要穩定可靠、高性能數據庫且願意為支持買單的應用。選擇版本時考慮的因素包括應用關鍵性、預算和技術技能。沒有完美的選項,只有最合適的方案,需根據具體情況謹慎選擇。

文章介紹了MySQL數據庫的上手操作。首先,需安裝MySQL客戶端,如MySQLWorkbench或命令行客戶端。 1.使用mysql-uroot-p命令連接服務器,並使用root賬戶密碼登錄;2.使用CREATEDATABASE創建數據庫,USE選擇數據庫;3.使用CREATETABLE創建表,定義字段及數據類型;4.使用INSERTINTO插入數據,SELECT查詢數據,UPDATE更新數據,DELETE刪除數據。熟練掌握這些步驟,並學習處理常見問題和優化數據庫性能,才能高效使用MySQL。

MySQL數據庫性能優化指南在資源密集型應用中,MySQL數據庫扮演著至關重要的角色,負責管理海量事務。然而,隨著應用規模的擴大,數據庫性能瓶頸往往成為製約因素。本文將探討一系列行之有效的MySQL性能優化策略,確保您的應用在高負載下依然保持高效響應。我們將結合實際案例,深入講解索引、查詢優化、數據庫設計以及緩存等關鍵技術。 1.數據庫架構設計優化合理的數據庫架構是MySQL性能優化的基石。以下是一些核心原則:選擇合適的數據類型選擇最小的、符合需求的數據類型,既能節省存儲空間,又能提升數據處理速度

HadiDB:輕量級、高水平可擴展的Python數據庫HadiDB(hadidb)是一個用Python編寫的輕量級數據庫,具備高度水平的可擴展性。安裝HadiDB使用pip安裝:pipinstallhadidb用戶管理創建用戶:createuser()方法創建一個新用戶。 authentication()方法驗證用戶身份。 fromhadidb.operationimportuseruser_obj=user("admin","admin")user_obj.

直接通過 Navicat 查看 MongoDB 密碼是不可能的,因為它以哈希值形式存儲。取回丟失密碼的方法:1. 重置密碼;2. 檢查配置文件(可能包含哈希值);3. 檢查代碼(可能硬編碼密碼)。

MySQL 可在無需網絡連接的情況下運行,進行基本的數據存儲和管理。但是,對於與其他系統交互、遠程訪問或使用高級功能(如復制和集群)的情況,則需要網絡連接。此外,安全措施(如防火牆)、性能優化(選擇合適的網絡連接)和數據備份對於連接到互聯網的 MySQL 數據庫至關重要。

MySQL Workbench 可以連接 MariaDB,前提是配置正確。首先選擇 "MariaDB" 作為連接器類型。在連接配置中,正確設置 HOST、PORT、USER、PASSWORD 和 DATABASE。測試連接時,檢查 MariaDB 服務是否啟動,用戶名和密碼是否正確,端口號是否正確,防火牆是否允許連接,以及數據庫是否存在。高級用法中,使用連接池技術優化性能。常見錯誤包括權限不足、網絡連接問題等,調試錯誤時仔細分析錯誤信息和使用調試工具。優化網絡配置可以提升性能

對於生產環境,通常需要一台服務器來運行 MySQL,原因包括性能、可靠性、安全性和可擴展性。服務器通常擁有更強大的硬件、冗餘配置和更嚴格的安全措施。對於小型、低負載應用,可在本地機器運行 MySQL,但需謹慎考慮資源消耗、安全風險和維護成本。如需更高的可靠性和安全性,應將 MySQL 部署到雲服務器或其他服務器上。選擇合適的服務器配置需要根據應用負載和數據量進行評估。
