• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

.net 解决spider多次和重复抓取的方案

asp 搞代码 4年前 (2022-01-03) 17次浏览 已收录 0个评论

这篇文章主要介绍了.net 解决spider多次和重复抓取的解决方案,需要的朋友可以参考下

原因:

早期由于搜索引擎蜘蛛的不完善,蜘蛛在爬行动态的url的时候很容易由于网站程序的不合理等原因造成蜘蛛迷路死循环。

所以蜘蛛为了避免之前现象就不读取动态的url,特别是带?的url

解决方案:

1):配置路由

代码如下:
routes.MapRoute(“RentofficeList”,
               “rentofficelist/{AredId}-{PriceId}-{AcreageId}-{SortId}-{SortNum}.html”,
               new { controller = “Home”, action = “RentOfficeList” },
               new[] { “Mobile.Controllers” });

第一个参数是路由名称
来源gao.dai.ma.com搞@代*码网二个参数是路由的Url模式,参数之间用{}-{}方式分隔
第三个参数是一个包含默认路由的对象
第四个参数是应用程序的一组命名空间

2):设置连接

默认排序

对照上面的Url模式,依次写入参数赋值
3):获取参数

代码如下:
int areaId = GetRouteInt(“AredId”);//获取参数
///

/// 获得路由中的值
///

/// 键
/// 默认值
///
protected int GetRouteInt(string key, int defaultValue)
{
return Convert.ToInt32(RouteData.Values[key], defaultValue);
}
///

/// 获得路由中的值
///

/// 键
///
protected int GetRouteInt(string key)
{
return GetRouteInt(key, 0);
}

根据上面3个步骤操作,显示的url地址为:

http://localhost:3841/rentofficelist/3-0-0-0-0.html
这样就可以避免静态页面上使用动态参数,显示的页面都为静态页面

以上就是.net 解决spider多次和重复抓取的方案的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:.net 解决spider多次和重复抓取的方案

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址