主页 > 知识库 > .net 解决spider多次和重复抓取的方案

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

热门标签:t3出行地图标注怎么做 外呼电销机器人软件 河南语音外呼系统公司 关于宗地图标注技术规范 河北网络回拨外呼系统 400电话办理最优质 宁夏机器人电销 400免费电话怎么办理 威海电销

原因:

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

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

解决方案:

1):配置路由

复制代码 代码如下:

routes.MapRoute("RentofficeList",
               "rentofficelist/{AredId}-{PriceId}-{AcreageId}-{SortId}-{SortNum}.html",
               new { controller = "Home", action = "RentOfficeList" },
               new[] { "Mobile.Controllers" });

第一个参数是路由名称
第二个参数是路由的Url模式,参数之间用{}-{}方式分隔
第三个参数是一个包含默认路由的对象
第四个参数是应用程序的一组命名空间

2):设置连接

a href="@Url.Action("RentofficeList",new RouteValueDictionary { { "AredId",0},{"PriceId",0},{"AcreageId",0},{"SortId",0},{"SortNum",0}})">默认排序/a>

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

复制代码 代码如下:

int areaId = GetRouteInt("AredId");//获取参数
/// summary>
/// 获得路由中的值
/// /summary>
/// param name="key">键/param>
/// param name="defaultValue">默认值/param>
/// returns>/returns>
protected int GetRouteInt(string key, int defaultValue)
{
return Convert.ToInt32(RouteData.Values[key], defaultValue);
}
/// summary>
/// 获得路由中的值
/// /summary>
/// param name="key">键/param>
/// returns>/returns>
protected int GetRouteInt(string key)
{
return GetRouteInt(key, 0);
}

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

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

您可能感兴趣的文章:
  • javascript SpiderMonkey中的函数序列化如何进行

标签:贺州 乐山 池州 广元 吉林 固原 咸宁 淮北

巨人网络通讯声明:本文标题《.net 解决spider多次和重复抓取的方案》,本文关键词  .net,解决,spider,多次,和,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《.net 解决spider多次和重复抓取的方案》相关的同类信息!
  • 本页收集关于.net 解决spider多次和重复抓取的方案的相关信息资讯供网民参考!
  • 推荐文章