由于网页抓取工具在没有任何请求数据的情况下访问我网站的某些部分,我收到了很多错误,因为我发现在Django中处理网页抓取工具的最佳方法是什么?当我遇到一个空的QueryDict时,我应该发出重定向吗?
答案 0 :(得分:1)
我认为您的观点应该适用于任何请求,在列表返回页面上显示消息“请求不正确”。 500是丑陋的。您确定用户在没有任何请求数据的情况下不打开页面吗? QueryDict的“get”方法可以帮助使用默认值。
答案 1 :(得分:1)
您可以考虑实施robots.txt以禁止抓取工具访问您网站上仅供人使用的区域,例如表单。
答案 2 :(得分:-1)
表现良好的抓取工具应该只执行GET请求。表格应该是GET请求之外的任何内容。
Ruby和Rails使用CRUD映射
Create -> POST,
READ -> GET,
Update -> PUT,
Delete -> DELETE
只有没有附加信息的内容才应该是GET请求。