Создание общего паука-скрапа
Мой вопрос на самом деле, как сделать то же самое, что и предыдущий вопрос, но в Scrapy 0.14.
Использование одного паука Scrapy для нескольких сайтов
По сути, у меня есть графический интерфейс, который принимает параметры, такие как домен, ключевые слова, имена тегов и т. Д., И я хочу создать универсальный паук для сканирования этих доменов по этим ключевым словам в этих тегах. Я читал противоречивые вещи, используя старые версии scrapy, либо переопределяя класс менеджера пауков, либо динамически создавая пауков. Какой метод предпочтителен и как мне реализовать и вызвать правильное решение? Заранее спасибо.
Вот код, который я хочу сделать универсальным. Он также использует BeautifulSoup. Я соединил это так, я надеюсь, не удалил ничего решающего, чтобы понять это.
class MySpider(CrawlSpider):
name = 'MySpider'
allowed_domains = ['somedomain.com', 'sub.somedomain.com']
start_urls = ['http://www.somedomain.com']
rules = (
Rule(SgmlLinkExtractor(allow=('/pages/', ), deny=('', ))),
Rule(SgmlLinkExtractor(allow=('/2012/03/')), callback='parse_item'),
)
def parse_item(self, response):
contentTags = []
soup = BeautifulSoup(response.body)
contentTags = soup.findAll('p', itemprop="myProp")
for contentTag in contentTags:
matchedResult = re.search('Keyword1|Keyword2', contentTag.text)
if matchedResult:
print('URL Found: ' + response.url)
pass