国产精品一区二区三区……-大杳蕉伊人欧美一本遒在饯-日本不卡一区免费在线观看-国产亚洲欧美中文字幕

400-800-9385
網(wǎng)站建設資訊詳細

詳談方維站長工具如何解決抓取谷歌結(jié)果返回403錯誤問題

發(fā)表日期:2012-10-24 00:00:00   作者來源:方維網(wǎng)絡   瀏覽:6377   標簽:方維站長工具    谷歌    
    方維站長工具能查詢網(wǎng)站各大搜索引擎收錄數(shù)量和百度權(quán)重、百度相關域、百度快照、百度近日收錄、網(wǎng)站歷史查詢、網(wǎng)站升級查詢等。但是在抓取谷歌網(wǎng)頁結(jié)果的時候,返回403錯誤問題,同樣的地址,用瀏覽器打開時顯示正常的搜索結(jié)果頁面,但用程序抓取就出現(xiàn)403錯誤頁面,里面講的是判斷訪問對象是機器,可見谷歌對程序或軟件抓取結(jié)果已經(jīng)做了相關的措施,因為谷歌+1算法已經(jīng)生效,防止機器抓取可以防止機器點擊。所以,方維站長工具一直因為這個原因無法抓取谷歌收錄、谷歌排名數(shù)據(jù)。

    一直以來,我都在網(wǎng)上尋找問題的答案,因為我看有些站長工具能夠抓取,所以問題一定有解決的方法,我開始懷疑是路徑不對,不過我發(fā)覺也只有這個路徑,于是我把目標指向了抓取網(wǎng)頁的程序,采用其他方法,沒想到,讓我驚奇的結(jié)果出來了。用Microsoft.XMLHTTP對象獲取就可以抓取到正常結(jié)果,我以前是用MSXML2.SERVERXMLHTTP.3.0對象來抓取的。代碼如下。

Function getHTTPPage(url,charcode)
    dim objXML
    'set objXML=createobject("MSXML2.SERVERXMLHTTP.3.0")  '調(diào)用XMLHTTP組件,測試空間是否支持XMLHTTP
    set objXML=createobject("Microsoft.XMLHTTP")
 objXML.open "GET",url,false 'false表示以同步的方式獲取網(wǎng)頁代碼,了解什么是同步?什么是異步?
    objXML.send() '發(fā)送
    getHTTPPage=bBytesToBstr(objXML.responseBody,charcode)'返回信息,同時用函數(shù)定義編碼
    set objXML=nothing'關閉
End Function


Function bBytesToBstr(body,charcode)
    dim objstream
    set objstream = CreateObject("adodb.stream") '//調(diào)用adodb.stream組件
    objstream.Type = 1
    objstream.Mode =3
    objstream.Open
    objstream.Write body
    objstream.Position = 0
    objstream.Type = 2
    objstream.Charset = charcode '轉(zhuǎn)換原來默認的UTF-8編碼轉(zhuǎn)換成GB2312編碼,否則直接用XMLHTTP調(diào)用有中文字符的網(wǎng)頁得到的將是亂碼
    bBytesToBstr = objstream.ReadText
    objstream.Close
    set objstream = nothing
end Function

通過使用這個抓取函數(shù),谷歌的收錄數(shù)據(jù)、排名數(shù)據(jù)都可以正常獲取了,從而解決了這個BUG。

方維站長工具正在一步步完善,而且源代碼全部開源,只希望保留版權(quán)信息。

如沒特殊注明,文章均為方維網(wǎng)絡原創(chuàng),轉(zhuǎn)載請注明來自http://pdcharm.com/news/1717.html
高雄县| 正安县| 甘孜县| 小金县| 乌拉特前旗| 定远县| 文山县| 合作市| 宜良县| 元谋县| 德保县| 松溪县| 大安市| 崇文区| 关岭| 环江| 平昌县| 远安县| 高尔夫| 巴青县| 普陀区| 丘北县| 海城市| 涪陵区| 吴桥县| 乐山市| 邯郸县| 肇东市| 四川省| 吉隆县| 乳源| 招远市| 拉孜县| 天镇县| 辰溪县| 鄯善县| 延寿县| 肃宁县| 清水河县| 双牌县| 涟源市|