Мой вопрос в том, как сделать то же самое, что и предыдущий вопрос, но в Scrapy 0.14.
Использование одного патча Scrapy для нескольких веб-сайтов
В принципе, у меня есть GUI, который принимает такие параметры, как домен, ключевые слова, имена тегов и т.д., и я хочу создать общий паук для обхода этих доменов для этих ключевых слов в этих тегах. Я читал противоречивые вещи, используя старые версии 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