python 抓取新浪网页时,有时候得不到HTML代码

Peter_A 2014-03-11 04:39:32
程序如下:
url = "http://tech.sina.com.cn/";
headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
request= urllib2.Request(url,headers=headers);
resp = urllib2.urlopen(request);
respHtml = resp.read();
print "respHtml=",respHtml;

有的时候,可以得到网页的HTML代码,但是有的时候却不能,结果如图

请问这是为什么,难道是我调试程序太频繁,新浪不允许?
...全文
359 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34433865 2016-07-29
  • 打赏
  • 举报
回复
我也遇到这样的问题,请问你是怎样解决的呢?
ImN1 2014-03-18
  • 打赏
  • 举报
回复
新浪tech我没爬过,但blog和weibo爬过,我这边100M光纤也不能保证一次抓完,通常都要目测鉴别一下 特别是我这边ISP DNS超负荷,时不时404很“正常”,几乎所有网络节点都可能引起你说的问题 如果你确认其他(超过30个以上)网站没问题,就只有新浪有问题,可以从cookies入手检查
Peter_A 2014-03-18
  • 打赏
  • 举报
回复
引用 5 楼 snmr_com 的回复:
新浪tech我没爬过,但blog和weibo爬过,我这边100M光纤也不能保证一次抓完,通常都要目测鉴别一下 特别是我这边ISP DNS超负荷,时不时404很“正常”,几乎所有网络节点都可能引起你说的问题 如果你确认其他(超过30个以上)网站没问题,就只有新浪有问题,可以从cookies入手检查
谢谢!知道了
Peter_A 2014-03-14
  • 打赏
  • 举报
回复
引用 2 楼 iasky 的回复:
应该是你模拟的浏览器行为不够,使用工具看看浏览器访问的时候发送的header,自己构造
我尝试添加了header信息,模拟浏览器的代理设置,结果还是一样。我试了试其他网站,都没有这个问题,只是新浪有问题。
jeky_zhang2013 2014-03-12
  • 打赏
  • 举报
回复
访问可以设置超时吧,超过多长时间没有响应,可以循环几次获取,看见成功获取标志即可
iasky 2014-03-12
  • 打赏
  • 举报
回复
应该是你模拟的浏览器行为不够,使用工具看看浏览器访问的时候发送的header,自己构造
ImN1 2014-03-11
  • 打赏
  • 举报
回复
这个原因多的是,不能一概而论 就算用浏览器访问,你也不是每次都顺利打开的吧?那刷新按钮可以去掉了

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧