我在我的一个应用程序中使用django-dynamic-scraper
,我已经阅读了文档,以下是我的设置:
对象类url我使用的是:http://www.example.com/products/brandname_products.html
站点上的分页如下所示:
第1页:http://www.example.com/products/brandname_products.html
第2页:http://www.example.com/products/brandname_products2.html
第三页:http://www.example.com/products/brandname_products3.html
第4页:http://www.example.com/products/brandname_products4.html
以上url中的brandname
是动态的,取决于品牌的产品页面。我不能为每个品牌设置不同的刮刀,因为有超过10000个品牌,所以我尝试使用单个刮刀对象。
在我使用的scraper对象中,我已经定义了分页选项,如下所示:
pagination_type
: RANGE_FUNCT
pagination_append_str
: _products{page}.html
pagination_page_replace
: 1,100,2
但是scraper请求以下分页url
http://www.example.com/products/brandname_products.html_products2.html
http://www.example.com/products/brandname_products.html_products3.html
http://www.example.com/products/brandname_products.html_products4.html
http://www.example.com/products/brandname_products2.html
http://www.example.com/products/brandname_products3.html
http://www.example.com/products/brandname_products4.html
Q:为什么要将替换字符串附加到url的末尾,而不是在对象类url中实际替换为_products.html
?我做错了什么,我该如何解决这个问题
pagination_append_str
选项是这样调用的,因为字符串是附加到基础url,而不是替换它!: -)
所以一切都是正确的,你只需要从你的基础url中删除_products_html
,这样最终的url就可以在没有加倍url部分的情况下构建在一起。