注意:不少人學Python過程當中會遇到各類煩惱問題,沒有人幫答疑。爲此小編建了個Python全棧免費答疑交流.裙 :一久武其而而流一思(數字的諧音)轉換下能夠找到了,不懂的問題有老司機解決裏面還有最新Python教程項目可拿,,一塊兒相互監督共同進步!
css
1、爬取表情包思路(http://www.doutula.com)python
一、打開網站,點擊最新套圖網絡
二、以後咱們能夠看到沒有套圖,咱們須要提取每一個套圖的鏈接框架
三、獲取鏈接以後,進入頁面提取圖片就行了scrapy
四、咱們能夠發現該網站還穿插有廣告,咱們須要過濾點廣告學習
2、實戰網站
關於新建項目咱們就再也不多說了。不知道的能夠看看這篇文章:scrapy的基本使用加密
一、首先咱們提取第一頁的urlurl
經過上圖咱們能夠發現咱們想要的url全在class名爲col-sm-9的div下,調試
紅色框的部分爲廣告。不是a標籤,因此咱們就不用過濾了。咱們直接選取col-sm-9下的直接子節點便可
寫下以下代碼:
值得注意的是在settings.py中須要添加頭信息和將robots.txt協議修改成False
咱們打上斷點調試一下:
咱們發現咱們想要的信息已經提取出來了。
注意:在Request中的mate參數,是用來傳遞參數的,傳遞給下一個方法使用。使用方法和字典類似。
二、完善item
咱們只須要三個字段,什麼系列,圖片url,圖片名稱。
三、提取item中咱們須要的字段
四、下一頁
五、保存
由於對scrapy保存圖片沒有研究,因此就本身寫保存圖片的方法。
在pipelines.py種添加以下代碼:
而且在settings.py中添加:
六、運行
直接報錯,因此咱們在settings.py添加頭信息
運行一段時候後又報錯了,看來須要隨機更換表頭信息。
這裏咱們使用第三方庫很方便,pip3 install fake_useragent
安裝成功後咱們在middlewares.py中導入:from fake_useragent import UserAgent
添加以下代碼:
在settings.py文件中添加
運行main文件:
便可。
小結:
效果圖:
問題:
在運行過程當中遇到了四個問題:
一、沒有獲取大到圖片鏈接:
可能這個網站有兩個版本獲取的css方式不同。
解決方法:可使用xpath中的|(或)來解決
二、沒有獲取到圖片名稱
解決方法:同上
三、圖片名稱相同
解決方法:可使用md5加密後添加,你也可使用你本身的方法
四、在圖片名中含有?/\等非法字符
解決方法:能夠經過正則過濾,若是md5加密,那麼一下解決兩個問題。
雖然有些圖片沒有獲取到,可是仍是爬取了不少。有興趣的能夠嘗試去修改。
注意:不少人學Python過程當中會遇到各類煩惱問題,沒有人幫答疑。爲此小編建了個Python全棧免費答疑交流.裙 :一久武其而而流一思(數字的諧音)轉換下能夠找到了,不懂的問題有老司機解決裏面還有最新Python教程項目可拿,,一塊兒相互監督共同進步!本文的文字及圖片來源於網絡加上本身的想法,僅供學習、交流使用,不具備任何商業用途,版權歸原做者全部,若有問題請及時聯繫咱們以做處理。