我有一个Scrapy抓取工具,它将URL作为参数,并在仅链接到其他页面之后擦除URL指向的整个网站,从而忽略外部URL。
例如,如果网址=" http://mypage.com"在那个页面上,他们有两个链接," http://mypage.com/about"和" http://google.com",只访问了第一个链接,因为它位于同一个域中。
我这样做的方法是设置 allowed_domains = start_urls 。
但是,这种方法的一个限制是,如果URL是重定向并且我被重定向到另一个域,那么在给定我的实现的情况下,将从外部域考虑所有URL。
例如,在 start_urls = [" http://mypage.com"] 和 allowed_domains =的情况下 [" http://mypage.com"] ,蜘蛛开始于" http://mypage.com"从那里重定向到" http://mypg.us",蜘蛛会将新域的所有链接视为外部并停止抓取它们。
我认为Scrapy很可能有这样的设定,但我无法找到。不过,我也愿意改变我的实施方式。