懂你所需,做你所想
当前位置:首页 > 新闻中心 > 网站建设 > 详谈方维站长工具如何解决抓取谷歌结果返回403错误问题

详谈方维站长工具如何解决抓取谷歌结果返回403错误问题

发表日期:2012-10-24文章编辑:方维网络浏览次数:1517 标签: 方维站长工具    谷歌    

    方维站长工具能查询网站各大搜索引擎收录数量和百度权重、百度相关域、百度快照、百度近日收录、网站历史查询、关键词排名查询等。但是在抓取谷歌网页结果的时候,返回403错误问题,同样的地址,用浏览器打开时显示正常的搜索结果页面,但用程序抓取就出现403错误页面,里面讲的是判断访问对象是机器,可见谷歌对程序或软件抓取结果已经做了相关的措施,因为谷歌+1算法已经生效,防止机器抓取可以防止机器点击。所以,方维站长工具一直因为这个原因无法抓取谷歌收录、谷歌排名数据。

    一直以来,我都在网上寻找问题的答案,因为我看有些站长工具能够抓取,所以问题一定有解决的方法,我开始怀疑是路径不对,不过我发觉也只有这个路径,于是我把目标指向了抓取网页的程序,采用其他方法,没想到,让我惊奇的结果出来了。用Microsoft.XMLHTTP对象获取就可以抓取到正常结果,我以前是用MSXML2.SERVERXMLHTTP.3.0对象来抓取的。代码如下。

Function getHTTPPage(url,charcode)
    dim objXML
    'set objXML=createobject("MSXML2.SERVERXMLHTTP.3.0")  '调用XMLHTTP组件,测试空间是否支持XMLHTTP
    set objXML=createobject("Microsoft.XMLHTTP")
 objXML.open "GET",url,false 'false表示以同步的方式获取网页代码,了解什么是同步?什么是异步?
    objXML.send() '发送
    getHTTPPage=bBytesToBstr(objXML.responseBody,charcode)'返回信息,同时用函数定义编码
    set objXML=nothing'关闭
End Function


Function bBytesToBstr(body,charcode)
    dim objstream
    set objstream = CreateObject("adodb.stream") '//调用adodb.stream组件
    objstream.Type = 1
    objstream.Mode =3
    objstream.Open
    objstream.Write body
    objstream.Position = 0
    objstream.Type = 2
    objstream.Charset = charcode '转换原来默认的UTF-8编码转换成GB2312编码,否则直接用XMLHTTP调用有中文字符的网页得到的将是乱码
    bBytesToBstr = objstream.ReadText
    objstream.Close
    set objstream = nothing
end Function

通过使用这个抓取函数,谷歌的收录数据、排名数据都可以正常获取了,从而解决了这个BUG。

方维站长工具正在一步步完善,而且源代码全部开源,只希望保留版权信息。

如没特殊注明,文章均为方维网络原创,转载请注明来自http://www.szfangwei.cn/news/1717.html
相关新闻

企业网站上线前哪些方面...

要把网站制作的工作做好,一定要非常细心负责任,以做好每一个网...

日期:2012-10-24 浏览次数:1026

大部分企业网站未做到位...

不管在深圳,还是在全国其他地方,网站建设市场非常混乱,网站设计...

日期:2012-10-24 浏览次数:1017

企业网站如何利用猪八戒进...

企业网站设计制作完工后,如果没有进行网络推广,一般刚制作完成...

日期:2012-10-24 浏览次数:998

营销型网站建设和搜索引擎...

随着百度第二页相关搜索的出现,深圳网站建设市场热门词“深圳...

日期:2012-10-24 浏览次数:1034

做好一个旅游网站需要注...

随着因特网的流行和发展,越多越多人,尤其是上班白领,都喜欢在网...

日期:2012-10-24 浏览次数:1215

如何让一个企业网站易于搜...

今天我们讨论两个问题:1、企业网站需要搜索引擎推广吗?2、如何...

日期:2012-10-24 浏览次数:1072