python项目之当当网
目錄
一、學習資源
二、知識點介紹
1、scrapy介紹
?2、scrapy安裝與錯誤解決
3、scrapy基本使用
4、項目結構和基本方法?
? ? ? ? ?(1)實例:?
5、架構組成
??6、scrapy工作原理
? ? ? ? (2)實例:汽車之家?
三、項目分析
? ? ? ? (1)首先定位到要獲取的數據的標簽的屬性
? ? ? ? (2)獲取數據
? ? ? ? ?(3)檢查
? ? ? ? ? ? ? ? 問題①
? ? ? ? ? ? ? ? 原因及解決辦法
? ? ? ? ? ? ? ? 問題②
? ? ? ? ? ? ? ? 原因及解決辦法
? ? ? ? ?(4)下載(單個管道)
? ? ? ? ? ? ? ? ? ? ? ? ①先定義數據結構(items程序)
? ? ? ? ? ? ? ? ? ? ? ? ②管道下載
? ? ? ? ? ? ? ? ? ? ? ? ?③下載數據到文件中
? ? ? ? ? ? ? ? ?(5)多個管道下載
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ①定義管道類
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?②在settings中開啟管道
? ? ? ? ? ? ? (6)多個管道下載實現
?四、項目源碼
一、學習資源
尚硅谷Python爬蟲教程小白零基礎速通(含python基礎+爬蟲案例)_嗶哩嗶哩_bilibili大家記得一鍵三連【點贊、投幣、收藏】感謝支持~本教程適合想掌握爬蟲技術的學習者,以企業主流版本Python 3.7來講解,內容包括:Python基礎、Urllib、解析(xpath、jsonpath、beautiful)、requests、selenium、Scrapy框架等。針對零基礎的同學可以從頭學起,有Python基礎的同學建議直接從第52集開始學習爬蟲部分視頻。教程中示例多種網站的爬取,https://www.bilibili.com/video/BV1Db4y1m7Ho?p=98&spm_id_from=pageDriver
二、知識點介紹
1、scrapy介紹
?2、scrapy安裝與錯誤解決
3、scrapy基本使用
?
4、項目結構和基本方法?
? ? ? ? ?(1)實例:?
5、架構組成
?6、scrapy工作原理
? ? ? ? (2)實例:汽車之家?
三、項目分析
? ? ? ? (1)首先定位到要獲取的數據的標簽的屬性
? ? ? ? (2)獲取數據
上一個案例用的是把所有的數據下下下來保存到一個列表中,然后再通過遍歷的方式去一個一個收數據的取,這里介紹一個新的方法:seletor對象可以再次調用xpath方法,也就是說先把統一的路徑給分離出來,然后再調用xpath。
? ? ? ? ?(3)檢查
? ? ? ? ? ? ? ? 問題①
????????????????????????所有的圖片路徑都是一樣的
????????
? ? ? ? ? ? ? ? 原因及解決辦法
? ? ? ? ? ? ? ? ? ? ? ? 這是一種常見的反爬手段,圖片的懶加載,即圖片的真正路徑不是@src了(除了第一個以外),發現問題之后再去檢查網頁,發現除第一個以外的圖片路徑為@data-original。
????????????????? ? ? ? 第一次路徑:
? ? ? ? ? ? ? ? ? ? ? ? 之后的路徑:
? ? ? ? ? ? ? ? 問題②
? ? ? ? ? ? ? ? ? ? ? ? 當把路徑改為@data-original之后,發現第一張圖片為none
? ? ? ? ? ? ? ? 原因及解決辦法
????????????????????????檢查之后發現其實第一章圖片的位置沒有變,只是后面的懶加載所以變了,所以此處要進行判斷。當是第一張圖片的時候路徑就為@src,其它情況為@data-original。
????????????????
? ? ? ? ?(4)下載(單個管道)
? ? ? ? ? ? ? ? ? ? ? ? ①先定義數據結構(items程序)
? ? ? ? ? ? ? ? ? ? ? ? ②管道下載
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)先在settings中開啟管道 解開ITEM_PIPELINES的注釋
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)將獲取的值傳入管道中
? ? ? ? ? ? ? ? ? ? ? ? ?③下載數據到文件中
注:這種模式不推薦 因為每傳遞過來一個對象 那么打開一個文件 對文件的操作過于頻
?改進:
? ? ? ? ? ? ? ? ?(5)多個管道下載
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ①定義管道類
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?②在settings中開啟管道
?
? ? ? ? ? ? ? (6)多個管道下載實現
每一頁的爬取的業務邏輯全部都是一樣的,所以我們只需要將執行的那個頁的請求再次調用parse方法就可以了(注意頁碼的變化),頁碼的變化會引起url的變化,這是需要注意的點
?四、項目源碼
? ? ? ? 此項目包含多個函數和文件,需要源碼的評論區留言即可。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python项目之当当网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zxing二维码精简(竖屏、拉伸处理、扫
- 下一篇: Oracle 子查询