當前位置:
首頁 > 知識 > Python爬蟲項目-爬取某寶男裝信息

Python爬蟲項目-爬取某寶男裝信息

本次爬取用到的知識點有:

1. selenium

2. pymysql

3 pyquery


正文

1. 分析目標網站

1. 打開某寶首頁, 輸入"男裝"後點擊"搜索", 則跳轉到"男裝"的搜索界面.

2. 空白處"右擊"再點擊"檢查"審查網頁元素, 點擊"Network".

1) 找到對應的URL, URL里的參數正是Query String Parameters的參數, 且請求方式是GET

2) 我們請求該URL得到內容就是"Response"里的內容, 那麼點擊它來確認信息.

3) 下拉看到"男裝"字樣, 那麼再往下找, 並沒有發現有關"男裝"的商品信息.

5) 對比網頁源代碼和"Response"響應內容, 發現源代碼中的商品信息被替換, 這便是採用了JS加密

6) 如果去請求上面的URL, 得到的則是加密過的信息, 這時就可以利用Selenium庫來模擬瀏覽器, 進而得到商品信息.


2. 獲取單個商品界面

1. 請求網站

2. 輸入"男裝", 在輸入之前, 需要判斷輸入框是否存在, 如果存在則輸入"男裝", 不存在則等待顯示成功.

3. 下一步就是點擊"搜索"按鈕, 按鈕具有屬性: 可點擊, 那麼加入判斷條件.

4. 獲取總的頁數, 同樣加入等待判斷.

5. 列印出來的不是我們想要的結果, 利用正則表達式獲取, 最後再利用try...except捕捉異常

關於Selenium的更多內容,可參看官方文檔https://selenium-python.readthedocs.io/waits.html

3. 獲取多個商品界面

採用獲取"到第 頁"輸入框方式, 切換到下一頁, 同樣是等待判斷

需要注意的是, 最後要加入判斷: 高亮是否是當前頁


4. 獲取商品信息

首先, 判斷信息是否載入成功, 緊接著獲取源碼並初始化, 進而解析.

需要注意的是, 在"get_one_page"和"get_next_page"中調用之後, 才可執行

5. 保存到MySQL資料庫

完整代碼

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 python 的精彩文章:

Python編程:序列化和反序列化
Python實現TFTP文件傳輸

TAG:python |