Criar uma aranha raspada genérica
Minha pergunta é realmente como fazer a mesma coisa que uma pergunta anterior, mas no Scrapy 0.1
Usando uma aranha Scrapy para vários sites
Basicamente, tenho uma interface gráfica do usuário que aceita parâmetros como domínio, palavras-chave, nomes de tags etc. e quero criar uma aranha genérica para rastrear esses domínios para essas palavras-chave nessas tags. Eu li coisas conflitantes, usando versões mais antigas do scrapy, substituindo a classe do gerenciador de aranha ou criando dinamicamente uma aranha. Qual método é preferido e como eu implemento e invoco a solução adequada? Desde já, obrigado
Aqui está o código que eu quero tornar genérico. Ele também usa o BeautifulSoup. Eu o parei, espero que não tenha removido nada crucial para entendê-l
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