close

大家好,我是郭立員~

這兩天群友接了一單定製腳本的活,採集500彩票網的開獎數據,具體細節我沒問,通過問我的問題,我猜猜採集的數據可能是這個:

採集的目標網址:https://kaijiang.500.com/shtml/ssq/03001.shtml

遇到的問題是啥呢?

使用按鍵直接獲取網頁源碼得到的結果是這樣的:

TracePrint url.get("https://kaijiang.500.com/shtml/ssq/03001.shtml")
當前腳本第1行:<html><head><title>301 Moved Permanently</title></head><body bgcolor="white"><center><h1>301 Moved Permanently</h1></center><hr><center>nginx</center></body></html>

返回的結果是301重定向(並不是報錯),無法獲取到網頁的html源碼,我用瀏覽器自帶的抓包調試工具看了一下,也沒有跳轉到別的網址,猜測是網頁為了限制爬蟲採集,做了一個假的跳轉。

因為瀏覽器可以正常訪問頁面,所以想到的方法就是偽裝成瀏覽器獲取網頁源碼。

說是偽裝,其實就是在http請求頭裡面加上User-Agent參數,很多做過抓包協議的人都懂的。

這個文章就這麼一個知識點,直接上源碼:

Import "shanhai.lua"Dim uri = "https://kaijiang.500.com/shtml/ssq/03001.shtml"Dim hader = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) Apple WebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"Dim date1 = {"url":uri,"code":"gb2312", "cookie":"", "header":{"User-Agent":hader}}Dim login = Url.HttpPost(date1)TracePrint loginDim arr=shanhai.RegexFind(login,"<li class=""ball_.-"">(.-)</li>")For Each k In arr TracePrint kNextDim haoma=shanhai.RegexFind(login,"出球順序:.-<td>(.-)<")TracePrint haoma(0)

還有一點需要注意的,網站編碼是GB2312,所以HttpPost命令的code需要修改一下,否則網頁中漢字部分會出現亂碼。

=正文完=
我個人微信


----------------------------------
推薦:
推薦QQ交流群11群:936858410
更多內容進入公眾號查看。
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()