2017.7.3

實現(xiàn)scrapy 爬取伯樂在線全部文章,修復(fù)對獲取下一頁url的錯誤

scrapy 提供了圖片下載和處理的功能,即 ImagesPipiline 類,直接通過配置 setting.py 設(shè)置相應(yīng)的變量即可達(dá)到下載圖片的目的

中間出現(xiàn)的錯誤:

  1. no module named "PIL"
    pip install pillow

  2. ValueError: Missing scheme in request url
    這是在訪問圖片url 的時候出現(xiàn)的錯誤,查看源代碼能夠得知,這是ImagesPipeline類中

    def get_media_requests(self, item, info):
    return [Request(x) for x in item.get(self.images_urls_field, [])]

這個函數(shù)訪問url 的時候,返回的是一個數(shù)組,能夠通過for 循環(huán)進(jìn)行迭代訪問。也就是說,在 parse 的時候,對 url 進(jìn)行復(fù)制的 item 中的圖片鏈接變量就必須是數(shù)組或者生成器

細(xì)節(jié)處理:

  1. 對 url 獲取返回給scrapy 后,scrapy 會進(jìn)行下載,但是url 可能需要拼接,這就需要使用到 urllib 庫中的parse 類中的 joinurl 函數(shù)

  2. 設(shè)置環(huán)境變量或者工作路徑
    os.path.dir(file) 獲取當(dāng)前文件所在目錄
    os.path.abspath() 獲取絕對路徑
    sys.path.append() 添加工作路徑

  3. setting.py 中的參數(shù)說明
    ITEM_PIPELINE
    IMAGES_MIN_HEIGHT
    IMAGES_MIN_WIDTH
    IMAGES_URLS_FIELD
    IMAGES_STORE
    這些配置參數(shù)在 ImagesPipiline 類的實現(xiàn)中都能看到

總結(jié)成一篇博客,如何使用 scrapy 進(jìn)行簡單的爬蟲


對 ZERO TO ONE 的讀后感


今日計劃:
博客
scrapy 如何將 item loader 的內(nèi)容通過 pipeline 處理后保存到本地文件或者數(shù)據(jù)庫中(采用 MySQL),或者放在 redis 中

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • scrapy學(xué)習(xí)筆記(有示例版) 我的博客 scrapy學(xué)習(xí)筆記1.使用scrapy1.1創(chuàng)建工程1.2創(chuàng)建爬蟲模...
    陳思煜閱讀 13,087評論 4 46
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,661評論 19 139
  • ¥開啟¥ 【iAPP實現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,363評論 0 17
  • 女孩子最美麗的時刻就是在自己穿上婚紗的那一刻,婚紗讓他們成為了最璀璨最耀眼的新娘。然而拍出一套好看的婚紗照也不是那...
    樂瑪婚紗攝影三亞店閱讀 218評論 0 0
  • 這是一個已然破敗頹頹的小山村,觸目皆是斷壁殘垣,但卵石鋪就的山間小路依然安好,穿過大半個山莊,經(jīng)過了槽石制成的古老...
    云深雁影閱讀 559評論 0 1

友情鏈接更多精彩內(nèi)容