install dependencies:
- Production:
pip install -r requirements/production.txt
- Development:
pip install -r requirements/local.txt
setup commands:
chmod +x ./scripts/setup
./scripts/setupstartcurl -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
InvalidInsuranceItemreturn instead of None -
By default all spider use httpcache, to disable cache for request function use
app.helpers.decorators.disable_cachedecorator
- Items name format:
{InsuranceName}InsuranceItem
- ItemLoaders name format:
{InsuranceName}InsuranceItemLoader
-
As here said css selector or xpath selector, it is better to use
css selectorin 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