iteye_17256 2009-04-27 21:40
浏览 215
已采纳

javaeye的防爬虫功能,好强

import urllib2

req = urllib2.Request('http://www.baidu.com')
fd = urllib2.urlopen(req)
while True:
    data = fd.read(1024)
    print '%s' % data
    if not len(data):
        break
    

 初学Python,代码如上,原本想法是把javaeye的页面内容抓取下来存到一个文本里,但是抓取下来的信息竟然是:
       您可能使用了网络爬虫抓取JavaEye网站页面!
    JavaEye网站不允许您使用网络爬虫对JavaEye进行恶意的网页抓取,请您立刻停止该抓取行为!

 

问题1:robbin老大的这一功能是怎么实现的?及其的好奇中。。。

问题2:有没有其他办法进行抓取呢?像google、baidu他们抓javaeye的帖子可是抓得不亦乐乎呀。


问题补充
phyeas 写道
设置User-Agent

小弟菜鸟一名,麻烦老哥能说的在详细一点吗?
  • 写回答

3条回答 默认 最新

  • phyeas 2009-04-27 21:40
    关注

    在read之前加一行:request.add_header('User-Agent', "wangtong40")

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 (标签-STM32|关键词-智能小车)
  • ¥20 关于#stm32#的问题,请各位专家解答!
  • ¥15 (标签-python)
  • ¥20 搭建awx,试了很多版本都有错
  • ¥15 java corba的客户端该如何指定使用本地某个固定IP去连接服务端?
  • ¥15 activiti工作流问题,求解答
  • ¥15 有人写过RPA后台管理系统么?
  • ¥15 Bioage计算生物学年龄
  • ¥20 如何将FPGA Alveo U50恢复原来出厂设置哇?
  • ¥50 cocos2d-x lua 在mac上接入lua protobuf?