python - 如何让scrapy定义工作的http前缀?
问题描述
我在一组域上运行刮板。带有域的列表是从外部提供的,使用 scrapy 进行的测试清楚地表明,对于某些网站,http 前缀没有正确指定。当您尝试导航 http:// www .example.com 而不是http://example.com时,某些网站会引发 DNS 错误。
我试图通过一个 for 循环来解决这个问题,该循环为每个域生成具有最常见前缀(http://www.、http://、https://、https://www.)的组合。然而,我发现对于某些网站,这会导致它们被抓取两次(只有所有重复的内容),这不仅对我来说效率低下,而且也不符合网络礼仪。
我有两个问题:
- 这是 Scrapy 的行为方式吗?
- 我怎样才能防止这种情况发生?
我已经看到如何检查网站是否支持 http、htts 和 www 前缀与 scrapy,但感觉像是绕道而行,它应该是 Scrapy 本身的一部分。
解决方案
推荐阅读
- excel - VBA 彭博 API
- python - 如果图表损坏,tf.Print 不起作用
- logstash - ora:01882 时区未找到 - jdbc_input_logstash 插件错误
- javascript - Amcharts:事件回调中未定义 chartScrollbar
- c# - 如何检测 WebChromeClient 中的 url 更改
- listview - 如何在 xamarin.UWP 中的 Viewcell 项目选择上设置自己的颜色?
- c++ - 我在 C++ 中遇到了一个奇怪的错误,其中计算两个小整数相加的语句溢出到一个 long long 值
- python - 如何对文本文件进行排序以在 O(MN) 时间复杂度中查找字谜,其中 M 是最大字符数,N 是单词数?
- sql - 在本地范围的 where 子句中使用全局范围(计数)
- javascript - 如何在 javascript/Node.js 中将数组添加到数组中