Skip to content
This repository has been archived by the owner on Oct 2, 2023. It is now read-only.

Commit

Permalink
Busca pagamentos um dia antes
Browse files Browse the repository at this point in the history
  • Loading branch information
anapaulagomes committed Dec 23, 2019
1 parent 8e158fa commit 0530748
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 5 deletions.
15 changes: 15 additions & 0 deletions scraper/scraper/runner.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from datetime import datetime, timedelta

from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings


process = CrawlerProcess(get_project_settings())

# TODO receber via CLI se todos ou não

yesterday = datetime.now() - timedelta(days=1)
yesterday = yesterday.date()

process.crawl("cityhall_payments", start_date=yesterday)
process.start()
13 changes: 8 additions & 5 deletions scraper/scraper/spiders/cityhall.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ class PaymentsSpider(scrapy.Spider):
http://www.transparencia.feiradesantana.ba.gov.br/index.php?view=despesa
"""

name = "payments"
name = "cityhall_payments"
url = "http://www.transparencia.feiradesantana.ba.gov.br/controller/despesa.php"
data = {
"POST_PARAMETRO": "PesquisaDespesas",
Expand All @@ -218,17 +218,20 @@ class PaymentsSpider(scrapy.Spider):
}

def start_requests(self):
current_date = date(2010, 1, 1) # initial date
if self.start_date:
start_date = self.start_date
else:
start_date = date(2010, 1, 1)
today = datetime.now().date()

while current_date <= today:
formatted_date = current_date.strftime("%d/%m/%Y")
while start_date < today:
formatted_date = start_date.strftime("%d/%m/%Y")
data = self.data.copy()
data["POST_DATA"] = f"{formatted_date} - {formatted_date}"
yield scrapy.FormRequest(
self.url, formdata=data, callback=self.parse, meta={"data": data}
)
current_date = current_date + timedelta(days=1)
start_date = start_date + timedelta(days=1)

def parse(self, response):
# ['��� Anterior', '1', '2', '33', 'Pr��ximo ���']
Expand Down

0 comments on commit 0530748

Please sign in to comment.