91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python爬取淘寶2000款套套

發布時間:2021-10-26 09:12:24 來源:億速云 閱讀:140 作者:柒染 欄目:大數據

本篇文章為大家展示了怎么用Python爬取淘寶2000款套套,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

一、淘寶登錄復習

前面我們已經介紹過了如何使用requests庫登錄淘寶,收到了很多同學的反饋和提問,豬哥感到很欣慰,同時對那些沒有及時回復的同學說聲抱歉!

順便再提一下這個登錄功能,代碼是完全沒有問題。如果你登錄出現申請st碼失敗的錯誤時候,可以更換_verify_password方法中的所有請求參數。
怎么用Python爬取淘寶2000款套套

淘寶登錄2.0改進中我們增加了cookies序列化的功能,目的就是為了方便爬取淘寶數據,因為如果你同一個ip頻繁登錄淘寶的話可能就會觸發淘寶的反扒機制

關于淘寶登錄的成功率,在豬哥實際的使用中基本都能成功,如果不成功就按上面的方法更換登錄參數!

二、淘寶商品信息爬取

這篇文章主要是講解如何爬取數據,數據的分析放在下一篇。之所以分開是因為爬取淘寶遇到的問題太多,而豬哥又打算詳細再詳細的為大家講解如何爬取,所以考慮篇幅及同學吸收率方面就分兩篇講解吧!宗旨還會不變:讓小白也能看得懂

本次爬取是調用淘寶pc端搜索接口,對返回的數據進行提取、然后保存為excel文件!

看似一個簡單的功能卻包含了很多問題,我們來一點一點往下看吧!

三、爬取單頁數據

開始寫一個爬蟲項目我們都需要量化后再分步,而一般第一步便是先爬取一頁試試!

1.查找加載數據URL

我們在網頁中打開淘寶網,然后登錄,打開chrome的調試窗口,點擊network,然后勾選上Preserve log,在搜索框中輸入你想要搜索的商品名稱
怎么用Python爬取淘寶2000款套套
這是第一頁的請求,我們查看了數據發現:返回的商品信息數據插入到了網頁里面,而不是直接返回的純json數據
怎么用Python爬取淘寶2000款套套

2. 是否有返回純json數據接口?

然后豬哥就好奇有沒有返回純json的數據接口呢?于是我就點了下一頁(也就是第二頁)
怎么用Python爬取淘寶2000款套套
請求第二頁后豬哥發現返回的數據竟然是純json,然后比較兩次請求url,找到只返回json數據的參數!
怎么用Python爬取淘寶2000款套套
通過比較我們發現搜索請求url中如果帶ajax=true參數的話就直接返回json數據,那我們是不是可以直接模擬直接請求json數據!

所以豬哥就直接使用第二頁的請求參數去請求數據(也就是直接請求json數據),但是請求第一頁就出現錯誤:
怎么用Python爬取淘寶2000款套套
直接返回一個鏈接而 不是json數據,這個鏈接是什么鬼?點一下。。。
怎么用Python爬取淘寶2000款套套
鐺鐺鐺,滑塊出現,有同學會問:用requests能搞定淘寶滑塊嗎?豬哥咨詢過幾個爬蟲大佬,滑塊的原理是收集響應時間,拖拽速度,時間,位置,軌跡,重試次數等然后判斷是否是人工滑動。而且還經常變算法,所以豬哥選擇放棄這條路!

3.使用請求網頁接口

所以我們只能選擇類似第一頁(請求url中不帶ajax=true參數,返回整個網頁形式)的請求接口,然后再把數據提取出來!

怎么用Python爬取淘寶2000款套套
這樣我們就可以爬取到淘寶的網頁信息了

四、提取商品屬性

爬到網頁之后,我們要做的就是提取數據,這里先從網頁提取json數據,然后解析json獲取想要的屬性。

1.提取網頁中商品json數據

既然我們選擇了請求整個網頁,我們就需要了解數據內嵌在網頁的哪個位置,該怎么提取出來。

經過豬哥搜索比較發現,返回網頁中的js參數:g_page_config就是我們要的商品信息,而且也是json數據格式!
怎么用Python爬取淘寶2000款套套
然后我們寫一個正則就可以將數據提取出來了!

goods_match = re.search(r'g_page_config = (.*?)}};', response.text)

2.獲取商品價格等屬性

要想提取json數據,就要了解返回json數據的結構,我們可以將數據復制到一些json插件或在線解析
怎么用Python爬取淘寶2000款套套
了解json數據結構之后,我們就可以寫一個方法去提取我們想要的屬性了
怎么用Python爬取淘寶2000款套套

五、保存為excel

操作excel有很多庫,網上有人專門針對excel操作庫做了對比與測評感興趣可以看看:https://dwz.cn/M6D8AQnq

豬哥選擇使用pandas庫來操作excel,原因是pandas比較操作方便且是比較常用數據分析庫!

1.安裝庫

pandas庫操作excel其實是依賴其他的一些庫,所以我們需要安裝多個庫

pip install xlrd
pip install openpyxl
pip install numpy
pip install pandas

2.保存excel

怎么用Python爬取淘寶2000款套套
這里有點坑的是pandas操作excel沒有追加模式,只能先讀取數據后使用append追加再寫入excel!

查看效果
怎么用Python爬取淘寶2000款套套

六、批量爬取

一次爬取的整個流程(爬取、數據提取、保存)完成之后,我們就可以批量循環調用了。
怎么用Python爬取淘寶2000款套套
這里設置的超時秒數是豬哥實踐出來的,從3s、5s到10s以上,太頻繁容易出現驗證碼!
怎么用Python爬取淘寶2000款套套
豬哥分多次爬取了兩千多條數據
怎么用Python爬取淘寶2000款套套

七、爬取淘寶遇到的問題

爬取淘寶遇到了非常多的問題,這里為大家一一列舉:

1.登錄問題

怎么用Python爬取淘寶2000款套套
問題:申請st碼失敗怎么辦?
回答:更換_verify_password方法中的所有請求參數。

參數沒問題的話登錄基本都會成功!

2.代理池

為了防止自己的ip被封,豬哥使用了代理池。爬取淘寶需要高質量的ip才能爬取,豬哥試了很多網上免費的ip,基本都不能爬取。
怎么用Python爬取淘寶2000款套套

但是有一個網站的ip很好:http://ip.zdaye.com/dayProxy.html ,這個網站每小時都會更新一批ip,豬哥試過還是有很多ip是可以爬取淘寶的。

3.重試機制

為了防止正常請求失敗,豬哥在爬取的方法上加上了重試機制!
怎么用Python爬取淘寶2000款套套
需要安裝retry庫

pip install retry

4.出現滑塊

上面那些都沒問題,但是還是會出現滑塊,豬哥測試過很多次,有些爬取20次-40次左右最容易出現滑塊。
怎么用Python爬取淘寶2000款套套
出現滑塊只能等個半小時后繼續爬,因為目前還不能使用requests庫解決滑塊,后面學習selenium等其他框架看看是否能解決!

5.目前這只爬蟲

目前這只爬蟲并不完善,只能算是半成品,有很多可以改進的地方,比如自動維護ip池功能,多線程分段爬取功能,解決滑塊問題等等,后面我們一起來慢慢完善這只爬蟲,使他可以成為一只完善懂事的爬蟲!

上述內容就是怎么用Python爬取淘寶2000款套套,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂尔多斯市| 闸北区| 云安县| 德令哈市| 大港区| 永年县| 紫阳县| 重庆市| 濮阳县| 新巴尔虎左旗| 津南区| 松溪县| 兴仁县| 壶关县| 乌拉特后旗| 宜都市| 长顺县| 会泽县| 岐山县| 绥阳县| 金沙县| 白朗县| 云安县| 新余市| 讷河市| 内丘县| 扶沟县| 肥西县| 靖边县| 利津县| 双江| 桓台县| 屏东县| 田东县| 杨浦区| 元阳县| 静海县| 顺昌县| 陆河县| 沧源| 时尚|