我在我的某个应用程序中使用django-dynamic-scraper
,我已浏览docs,以下是我的设置:
我使用的对象类网址是: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
第3页:http://www.example.com/products/brandname_products3.html
第4页:http://www.example.com/products/brandname_products4.html
上述网址中的brandname
是动态的,取决于品牌的产品页面。我不能为每个品牌提供不同的刮刀,因为有超过10000个品牌,所以我试图使用一个刮刀对象。
在我使用的scraper对象中,我已经按如下方式定义了分页选项:
pagination_type
:RANGE_FUNCT
pagination_append_str
:_products{page}.html
pagination_page_replace
:1,100,2
但是刮刀请求以下分页网址
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
问:为什么将替换字符串附加到url的末尾而不是实际用对象类url中的_products.html
替换它?我做错了什么,如何解决这个问题。
答案 0 :(得分:4)
这样调用pagination_append_str
选项,因为字符串是附加到基本网址而不是替换它! : - )
所以一切都是正确的,您只需要从基本网址中删除_products_html
,这样最终的网址就会一起构建而不会加倍网址部分。