2017-09-13 98 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屬性是下一個頁面。加載並繼續這樣做,直到沒有下一頁鏈接/沒有該標識的標籤。