2017-09-13 101 views
0

我写一个Python程序与匹配的HREF从卖方市场页面一定的正则表达式来提取anchortags所有产品链接。如何处理分页,同时提取特定亚马逊卖家

例如,我的第一个卖家的网址开头字母“A”是如下:

/s/ref=sr_in_A_p_6_1?fst=as%3Aoff&rh=n%3A2335752011%2Cp_6%3AA15LBIZFCJ59AM

现在,我要的是得到扑灭通过上述卖家销售的所有产品链接请按照以下方式

/Apple-Factory-Unlocked-Internal-Smartphone/dp/B00NQGP42Y/ref=sr_1_1?m=A15LBIZFCJ59AM

但产品从第一URL列表中刮出来与HREF中anchortags跨多个网页传播。

由于我使用Python 2.7用正则表达式XPATH 1.0字符串函数,我怎么能处理分页符?

注:我使用的Chrome版本60.0.3112.113(正式版本)(64位)

+0

看起来你可以再补充'&页= 3'到你的第一个网址的结尾,并通过网页进行迭代,直到你得到它有没有产品链接(表示你已经没了往日的最后一页)页面 - 是那你在找什么? –

+0

@Ken Syme:是的,我可以添加,但我怎么知道要添加多少页?你提到的方式,我将不得不继续增加页面,但是到了什么限制?或者,我应该增加,直到某种由请求引发的PageNotFound错误? – somnathchakrabarti

+0

最简单的方法是继续前进,直到获得带有noResultsTitle id的元素的页面。如果您尝试使用上面的链接,请增加到第7页并检查$(“#noResultsTitle”)。你应该看到它出现在第7页上,但不是之前。 –

回答

0

下面是这样做两种选择:

选项1

添加&page=3到第一个URL的结尾,并遍历页面,直至找到没有产品链接/空信息的页面。您可以通过查看是否存在编号为noResultsTitle的元素来检查空消息。

选项2

查找元素与pagnNextLink一个ID的标签页上 - 这href属性是下一个页面。加载并继续这样做,直到没有下一页链接/没有该标识的标签。