先是舊聞一則:日本一名 13 歲女孩在網上遭遇 Javascript 無限彈窗,然后覺得好玩而將代碼在論壇上進行分享,結果遭到了刈谷警方的詢問和指控(果然讓熊孩子碰電腦容易出事……)。此事引發了廣泛爭議,以至于日本程序員 Kimikazu Kato 在 GitHub 上發起了快來逮捕我的抗議活動,呼吁大家一起分享 JS 無限彈窗代碼,讓日本警方來逮捕他們或者去警局自首。
這段無限循環代碼主要影響桌面版 Chrome 和移動瀏覽器,而 Edge 和 Firefox 瀏覽器則不受影響,可以正常關閉窗口。代碼是在 2014 年寫的,已經被很多人分享過,而這名女孩不是唯一一位受到調查的,還有另外兩人受到調查。
我們且不說程序員 Kimikazu Kato的做法正確與否,我們今天就在技術無罪的前提下,來討論這段代碼,咳咳,敲黑板,接下來便是重點.
以上便是代碼的全部內容,下載下來重命名為index.html,然后上傳到任意服務器,再打開你的鏈接/index.html。嘿嘿嘿,之后便會無限彈出:“你是豬嗎?”,并且關都關不掉……那場面,嘖嘖,難以想象。這里建議用電腦,修改文件名后直接雙擊打開就可以在瀏覽器預覽了。
注:小庫僅進行技術分析,不承擔任何責任,聽說出了事是要扣雞腿的。??
BS是基于Visual Basic的腳本語言,簡單方便,不需要下載編譯器,更不需要配置環境,只用windows自帶的記事本就可以進行開發,簡單粗暴。
右鍵新建“文本文檔”->粘貼代碼->另存為“xxx.vbs”->保存->雙擊運行。
接下來就是代碼了:
1.最簡單的一行代碼
msgbox "你個豬頭!"
當然你還可以多寫幾行其他有趣的文字,程序將會一行一行運行。
2.死循環惡搞
上個代碼點完“確定”就運行結束了,想要整人還是不夠,那我們可以加一個死循環,點擊確定和關閉按鈕之后,會再一次彈出窗口,如此循環,無法正常關閉。
do msgbox "你個豬頭!" loop
那怎么才能關閉呢?只有打開任務管理器(快捷鍵Ctrl+Alt+Delete)找到wscript.exe進程冰右鍵結束任務。windows7系統wscript.exe在”進程“中,windows10系統wscript.exe在”詳細信息“中。
結束wscript.exe進程
3.無限英文報數從1到無窮大,關閉方法同上
Set s=CreateObject("sapi.spvoice") i=0 do s.speak i i=i+1 loop
4.無限刷新(慎用!!!)刷新難以打開任務管理器,只能強行關機
set ws=createobject("wscript.shell") do ws.sendkeys "{f5}" loop
5.QQ連續發送信息騷擾好友
打開QQ,準確記下好友的備注,代碼里的”菜雞“替換為你的好友備注,數字”30“替換為你想要發送的次數,復制好你準備發送的消息,雙擊運行vbs。
On Error Goto 0 Dim wsh,ye set wsh=createobject("wscript.shell") for i=1 to 30 wscript.sleep 100 wsh.AppActivate("菜雞") wsh.sendKeys "^v" wsh.sendKeys "%s" next wscript.quit
QQ騷擾好友
6.表白代碼
其中用到了定時關機,但是后面會取消的。
Set Seven=WScript.CreateObject("WScript.Shell") strDesktop=Seven.SpecialFolders("AllUsersDesktop") set oShellLink=Seven.CreateShortcut(strDesktop & "\Seven.url") oShellLink.Save se_key=(MsgBox("我喜歡你很久了,你可以做我女朋友嗎 是=同意 否=拒絕 ",4,"我沒有開玩笑!!!")) If se_key=6 Then MsgBox "謝謝你給了我這次機會,I Love You",64,"Love you" Else seven.Run "shutdown.exe -s -t 600" agn=(MsgBox ("我真的很喜歡你!求你了,別拒絕我,好嗎? 是=同意 否=拒絕",4,"別拒絕我,好嗎?")) If agn=6 Then seven.Run "shutdown.exe -a" MsgBox "謝謝你給了我這次機會,I Love You",,"Love you" WScript.Sleep 500 Else MsgBox "唉,那 祝你能找到自己喜歡的人,若可回頭 記住 我在你身后一直等你! --愛你的人",64,"祝你幸福!!" seven.Run "shutdown.exe -a" MsgBox "其實你拒絕了我,我也不會關你電腦的!因為你是我最重要的人,我不會捉弄你的!",64,"我愿意等你!" End If End If
延時關機
7.撩妹代碼
只有再回答出設定好的名字是,循環才會結束
const title="愛情測試" const yourname="小Y" const question="你最喜歡的人是誰?請在下面的方框中輸入他(她)的名字。" const info="你在說謊!不要逃避,實話實說。" const scend="你說出了你的心扉,那就向他(她)表白吧。" dim youranswer do youranswer=inputbox(question, title) if youranswer <> yourname then msgbox info, vbinformation+vbokonly, title loop until youranswer=yourname msgbox scend, vbinformation+vbokonly, title
這些都是編程的入門級小程序,是不是很有趣?發給那個TA,給生活加點料~
以后將會更新界面更漂亮更有趣的HTML代碼,歡迎關注小Y~
這就是今天的分享了,快去試試吧!
近一直在學習網絡爬蟲, 從最開始的用urllib2 bs4模塊一行一行寫爬蟲, 到現在掌握scrapy爬蟲框架, 再到學習如何破解反爬蟲, 對網絡爬蟲有了基本的了解。今天看糗百段子,突然想起以前想看段子而手機流量又不夠的時候想著有一天能在家里把段子下載到手機上離線看就好了。現在學了爬蟲,感覺愿望可以實現了。 于是今天就以爬取糗事百科搞笑段子為例, 對之前的學習做個總結。
這個例子還是基于python, 用的scrapy框架。 爬取搞笑段子原理其實很簡單: 打開糗事百科, 找到入口url(每一頁為一個入口), 然后遍歷所有網頁, 獲取搞笑段子信息保存到本地文件中。
首先打開糗事百科頁面, 我準備爬取純文字和熱圖兩個分類。 觀察兩個分類每一頁url有如下特征:
如此可以通過第一個url和一個for循環構建出剩下的所有url。
知道如何構建入口url后, 觀察下頁面的html源碼, 每個段子的作者、內容等信息可以用xpath很容易的提取出來。 如:作者=‘//div[@class="article"]//h2/text()’; 內容='//div[@class="article"http://span/text()]'
經過以上分析后, 剩下的就是寫代碼實現了。 為了快速爬取又不被反爬蟲機制發現, 這里使用了代理ip機制, 主要代碼貼上來
這段代碼是用python重寫scrapy中間件, 主要實現下面兩個功能:
改寫user-agent, 破解基于user-agent原理的反爬蟲機制
每次請求都從代理ip池中隨機拿一個來用, 這樣請求間隔就可以設置的非常短, 爬取速度變快而不用擔心ip被封禁了。 說明下alive.txt中的內容是上篇文章中爬取到的代理ip并被驗證為有效的代理ip
這段代碼是pipelines.py, 用來把爬取到的段子信息保存到本地的txt文檔里, 其中圖片會下載到IMG目錄下
下面代碼是爬蟲的實現, 主要是通過url獲取到網頁html, 然后通過xpath提取出搞笑段子
主要的實現就是這樣的, 寫出來供大家參考, 我最終爬取出來的結果是這樣的:
這格式純文字的爬取結果:
這個是熱圖的爬取結果, 圖片都保存在同級目錄下的IMG目錄下
寫這篇文章的目的是對前端時間學習有個總結, 同時期望自己的些許經驗能讓正在學習爬蟲的朋友有個參考
歡迎轉載!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。