需求分析:我們要爬取華為商城手機類別的所有手機參數。但是不要配件的。
1、按F12,隨便搜索一個關鍵字,找到對應的接口。
找到的接口是:
可以看到是POST請求 ,所以我們要找到對應的參數和請求頭。后面代碼里面有。
2、點擊下一頁,發下請求接口是一樣的,不同的是參數的請求頁數。
3、打開一個手機的詳情頁,查看詳情頁的請求參數。發現上面的請求鏈接后面的字符串和第一步的接口獲取到的產品id是匹配的。
4、直接使用python requests 請求上面的鏈接,發現返回的數據里面有我們想要的數據。
分析返回的參數信息,發現當產品是手機的時候,通過bs4 獲取到的參數信息組成的列表元素個數都超過14個。其他的基本是幾個或者是個不到,所以粗劣認為當小於10個的時候屬於手機。則開始爬取。
5、這樣我們就可以通過兩步來爬取相關的數據了。
1)先通過第1步的接口獲取到產品id。
2)通過產品id 去請求詳情頁獲取匹配信息,然后通過bs4去解析,通過字典去保存數據,寫入csv文件里面。
源碼: