我有一个蜘蛛,它以蜘蛛开始时的一个小列表allowed_domains
开头。我需要动态地将更多域添加到此白名单中,因为从解析器中继续进行爬虫,但是由于后续请求仍在过滤中,因此以下代码无法完成。allowed_domains
解析器中是否有另一个更新?
class APSpider(BaseSpider):
name = "APSpider"
allowed_domains = ["www.somedomain.com"]
start_urls = [
"http://www.somedomain.com/list-of-websites",
]
...
def parse(self, response):
soup = BeautifulSoup( response.body )
for link_tag in soup.findAll('td',{'class':'half-width'}):
_website = link_tag.find('a')['href']
u = urlparse.urlparse(_website)
self.allowed_domains.append(u.netloc)
yield Request(url=_website, callback=self.parse_secondary_site)
...