install dependencies:
- Production:
pip install -r requirements/production.txt
- Development:
pip install -r requirements/local.txt
setup commands:
chmod +x ./scripts/setup
./scripts/setup
start
curl -X GET "http://localhost:9080/basic?spider_name=sandbox&national_code=12313123"
curl -X GET "http://localhost:9080/supplemental?spider_name=sandbox&national_code=12313123"
-
Spiders name format:
{InsuranceName}InsuranceSpider
-
Spiders should inherit from:
app.generics.GenericSpider
-
Spiders name automatically set as:
{insurance_name}_insurance
-
Spiders should use start_requests function to start crawl
-
If spider parse method return None by default
InvalidInsuranceItem
return instead of None -
By default all spider use httpcache, to disable cache for request function use
app.helpers.decorators.disable_cache
decorator
- Items name format:
{InsuranceName}InsuranceItem
- ItemLoaders name format:
{InsuranceName}InsuranceItemLoader
-
As here said css selector or xpath selector, it is better to use
css selector
in most case except need to solve a complex issue -
As documented said selectors shortcut, shortcuts selectors ensure the response body is parsed only once, so our prefers is to use shortcuts selectors
-
static typing checks by
MyPy
-
you are allowed to deep into one level for type hint