首页 新闻 会员 周边

如何绕开百度对客户端的追踪?

0
悬赏园豆:20 [已解决问题] 解决于 2013-12-09 09:37

我写了一从百度音乐任意一个页面抓取链接并自动下载歌曲的工具,才下了700首后就出现了这样的提示,求解决方案?

 

http://music.baidu.com/data/music/file?link=http://zhangmenshiting.baidu.com/data2/music/64536893/7894007255600256.mp3?xcode=1bd9cf6fc32b6754c50860b5bfca0f48ea105bdacfff7762&song_id=7894007

空明流光的主页 空明流光 | 初学一级 | 园豆:106
提问于:2013-12-07 10:32
< >
分享
最佳答案
0

百度的数据抓取太快了之后,会弹出验证码的。你得问题有几个解决方法,整理一批代理网址,然后检测到问题的时候,通过程序自动更改你得代理服务器。还有一中方法,你写个程序去识别他的验证码。

收获园豆:10
bitbug | 菜鸟二级 |园豆:470 | 2013-12-08 20:42
其他回答(3)
0

  你抓取太快, 这在它服务器端是可以检测到的, 你可以试试采集多少暂停下, 隔多久再继续, 最好是采集多少清缓存, 切换换IP再去做。 否则时不时就出来了。

收获园豆:5
问天何必 | 园豆:3311 (老鸟四级) | 2013-12-07 11:31

如何改变这个ip呢,手动去重启路由器或猫吗?这个太复杂了吧

停一停是没问题,但这停多久呀,这是个问题呀,没效率抓取就没有意义了。

支持(0) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2013-12-07 12:18

@沧海一杰: 如果是ADSL拔号, 你可以调用rasapi32.dll系统的API实现adsl进行拨号。  拔一次IP应该就变了。 如果不是, 你也可以用代理。 不过用代理自己就得找找哪些能用了。。。

你频率太高, 别人当然不会让你采集了。。。我之前做过类似的, 具体我也没试出来什么时候一定会出现验证码。 

其实很好做, 检测到有这个页面, 清缓存, 重新拔号。 又能工作了。 

支持(0) 反对(0) 问天何必 | 园豆:3311 (老鸟四级) | 2013-12-07 12:29
0

百度有专门针对机器自动抓做处理,尽量使机器抓取更自然一点,比如抓取的时间,抓取的数量。

收获园豆:5
Zery | 园豆:6151 (大侠五级) | 2013-12-07 12:20

我就是使用webbrowser自动Click事件,然后捕获下载对话框,这个还不够自然呀?

支持(0) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2013-12-07 12:47
0

好吧,看来原理还都是改IP原理为主,谢谢大家了。

空明流光 | 园豆:106 (初学一级) | 2013-12-09 09:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册