如題,首先當然是要打開京東的手機頁面


因為要獲取不同頁面的所有手機圖片,所以我們要跳轉到不同頁面觀察頁面地址的規(guī)律,這里觀察第二頁頁面

由觀察可以得到,第二頁的鏈接地址很有可能是
https://list.jd.com/list.html?cat=9987,653,655&page=2
那么對應第n頁的地址就是
https://list.jd.com/list.html?cat=9987,653,655&page=n
我們就可以利用這個規(guī)律在編程的時候打開自己想要獲取的頁面了
接著我們查看頁面的源代碼,觀察圖片鏈接的規(guī)律


我們使用在源代碼的頁面使用ctrl+f查找,然后在查找框里面輸入頁面第一臺手機的名字 “vivo X9s 全網通 4GB+64GB 玫瑰金 移動” 快速定位到圖片鏈接附近的代碼,便于后面編程對圖片范圍進行篩選

可以看到,上圖的畫紅線的三個部分,<div id="plist" 在這一頁中是唯一出現(xiàn)的一個元素,而且離圖片鏈接比較近,所以可以作為篩選頁面的開頭位置
<img width=“220”……這個是手機圖片的信息,我們要獲取的是后面
//img14.360buyimg.com/n7/jfs/t6088/107/5539077608/409616/7f98b2bb/596c2edaN9792cd20.jpg
這個鏈接,但是觀察發(fā)現(xiàn)后面也有一個圖片鏈接
img data-sku="5291744" width="25" height="25" class="loading-style2" src="https://img14.360buyimg.com/n9/jfs/t6088/107/5539077608/409616/7f98b2bb/596c2edaN9792cd20.jpg"
這個很明顯不是我們要找的手機圖片鏈接
所以我們要使用正則表達式將真正的圖片鏈接篩選出來,觀察發(fā)現(xiàn)這兩個圖片鏈接的區(qū)別在于手機圖片鏈接里面含有n7元素,而另外一個圖片鏈接含有n9元素,這樣子我們的正則表達式就可以表示為pat2 = '//.+?/n7/.+?/.jpg'
接著我們要找到這個頁面最后一張手機圖片的位置,方便找出可以作為篩選頁面的結束位置,方法和上面類似,在源代碼搜索框輸入 小米(MI) 紅米Note4X 手機 香檳金 全網通 3GB+32GB 定位到頁面最后一張圖片位置

可以看到,下面<div class="page clearfix">在該頁面中是唯一的,而且比較接近最后一張手機圖片附近的鏈接,所以可以作為篩選結尾位置的元素,其實篩選的元素只要滿足唯一并且接近我們要獲取的目標,那么也可以作為我們要選取的元素
經過上面準備之后,我們得出了大概的思路
1首先進行第一次篩選,使用正則表達式pat1 = '<div id="plist".+<div class="page clearfix">'將圖片鏈接的范圍大概篩選出來
新聞熱點
疑難解答