问题标签 [web-crawler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 检测诚实的网络爬虫
我想检测(在服务器端)哪些请求来自机器人。在这一点上,我不关心恶意机器人,只关心那些玩得很好的机器人。我见过一些方法,主要涉及将用户代理字符串与“bot”等关键字进行匹配。但这似乎很尴尬,不完整且无法维护。那么有人有更可靠的方法吗?如果没有,您是否有任何资源用于与所有友好的用户代理保持同步?
如果你很好奇:我不会试图做任何违反任何搜索引擎政策的事情。我们有一个网站部分,用户会随机看到几个稍微不同的页面版本之一。但是,如果检测到网络爬虫,我们将始终为它们提供相同的版本,以使索引保持一致。
我也在使用 Java,但我想这种方法对于任何服务器端技术都是相似的。
sharepoint - 文档库爬网
我设置了一个新范围,并传入了我创建的包含 2 个 word 文档的特定文档库的 URL。
出于某种原因,当我开始完全爬网时,它看不到 2 字文档。
Word 文档具有元数据,并且我创建了映射爬网属性的托管属性。
我正在尝试利用高级搜索 webpart 来从这个范围进行搜索。当我输入诸如 word 文档的文件名之类的搜索词时,没有返回任何结果。
有任何想法吗?
data-mining - 每天多次处理网络提要
好的,这里是简单的交易:我蜘蛛网络(所有类型的数据,博客/新闻/论坛),因为它出现在互联网上。然后我处理这个提要并对处理后的数据进行分析。爬虫没什么大不了的。随着互联网获取新数据,我几乎可以实时获取它。处理是一个瓶颈,它涉及一些计算量大的算法。
我正在寻求制定一个策略来安排我的蜘蛛。最大的目标是确保作为最终结果生成的分析尽可能多地反映最近输入的影响。开始想一想,显而易见的目标是确保数据不会堆积。我通过蜘蛛获取数据,传递给处理代码,等到处理结束,然后蜘蛛更多。这次带来了我在等待处理结束时出现的所有数据。好的,这是一个非常广泛的想法。
你们中的一些人可以分享您的想法,可能会大声思考。如果你是我,你会想到什么。我希望我的问题是有意义的。顺便说一句,这不是搜索引擎索引。
search - 如何防止 robots.txt 从暂存环境传递到生产环境?
我过去曾发生过,我们的一位 IT 专家会意外地将 robots.txt 从生产环境中移出。阻止谷歌和其他人在生产中索引我们客户的网站。有没有很好的方法来处理这种情况?
提前致谢。
html-parsing - 从网页中提取意义的全部内容
我正在通过使用我的爬虫挖掘网页内容来进行一些分析。网页通常在文章正文周围包含杂乱无章的内容(例如广告、不必要的图像和无关链接),这会分散用户对实际内容的注意力。
考虑到没有标准来定义新闻故事/博客文章/论坛评论/文章在网页中的实际位置,据我了解,提取有意义的内容是一个难题。
我可以找到一些像这样的开源解决方案:https ://metacpan.org/pod/HTML::ContentExtractor
但我很好奇是否有人处理过这个问题并获得了合理的成功率。这似乎是一个相当普遍的问题,我相信很多专家都在那里。我更喜欢基于 JAVA 的解决方案,但这不是硬性规定。请提供一些意见。我将深深感激。
php - 如何执行 PHP 蜘蛛/爬虫但没有超时
基本上我需要绕过最大执行时间。
我需要以不同的时间间隔抓取页面以获取信息,这意味着以这些时间间隔调用机器人,以从数据库加载链接并废弃链接指向的页面。
问题是,加载机器人。如果我用 javascript 加载它(如 Ajax 调用),浏览器会抛出一个错误,指出页面响应时间过长 yadda yadda yadda,另外我必须保持页面打开。
如果我从 PHP 中执行此操作,我可能会将执行时间延长到所需的时间,但如果它确实引发错误,我无权终止进程,并且浏览器中不会显示任何内容,直到 PHP 执行完成了吧?
我想知道是否有人有任何技巧来解决这个问题?刮板以不同的时间间隔自行执行,而我无需一直观看它。
干杯:)
http - 抓取机器人和页面大小
想知道,一个网站是否会在搜索引擎排名或结果定位方面受到影响,如果它的大小没有优化,而是与相同类型的网站相比它具有平均加载时间。让我们说
web-crawler - 抓取页面时检测 CacheBuster 查询字符串
我已经组装了一个相当简单的爬行引擎,它工作得很好,并且在很大程度上避免了陷入循环陷阱。(即,页面 A 链接到页面 B,页面 B 链接到页面 A)。
它卡在这个循环中的唯一一次是当两个页面使用 cachebuster 查询字符串相互链接时,基本上它是每次刷新时每个链接上的唯一查询字符串。
这导致页面对于爬虫来说总是看起来像新页面,并且爬虫在两个页面之间移动时卡住了。
除了在两个页面之间发生 N 次反弹后才突破,唯一的区别是查询字符串(我认为这不是一个很好的方法),还有其他方法可以检测和突破这些陷阱...... ?
web-crawler - Robots.txt:只允许主要 SE
有没有办法配置 robots.txt 以便该站点只接受来自 Google、Yahoo! 的访问?和 MSN 蜘蛛?
python - 网络爬虫和 Google App Engine 托管的应用程序
考虑到我正在运行免费的启动版本,是否不可能在 GAE 上与我的应用程序一起运行网络爬虫?