scrapy抓取淘宝女郎
scrapy抓取淘寶女郎
準備工作
首先在淘寶女郎的首頁這里查看,當然想要爬取更多的話,當然這里要查看翻頁的url,不過這操蛋的地方就是這里的翻頁是使用javascript加載的,這個就有點尷尬了,找了好久沒有找到,這里如果有朋友知道怎樣翻頁的話,麻煩告訴我一聲,謝謝了...,不過就這樣坐以待斃了嗎,所以就在chrome上搜,結果看到有人直接使用的這個網頁,我當時一看感覺神奇的樣子,這就是簡化版的首頁啊,只需要改變page的數字就可以實現遍歷了,不過還是有點小失落,為什么人家就能找到呢,這個我還是希望知道的朋友能夠分享一下,我也會查看相關的資料,把這個空缺不上的,好了,現在開我們的工作了
我們的目的是抓取冊以及相關的信息,所以我們需要隨便打開一個淘女郎的相冊頁面,然后隨便進入一個相冊即可,很顯然這里的相冊是異步加載的,因此我們需要抓包,這里我抓到了含有相冊的url以及相關信息的json數據,如下圖:
然后我們查看它的url為https://mm.taobao.com/album/j...
通過我嘗試之后這條url可以簡化為:
https://mm.taobao.com/album/j...{0}&album_id={1}&top_pic_id=0&page={2}&_ksTS=1493654931946_405
其中user_id是每一個女郎對的id,ablum_id時每一個相冊的id,這里一個女郎有多個相冊,因此這個id是不同的,但是page就是要翻頁的作用了,可以看到我去掉了callback=json155這一項,因為如果加上這一項,返回的數據就不是json類型的數據,其中page是在抓包的時候點擊翻頁才會在下面出現的,可以看到同一個相冊返回的除了page不同之外,其他的都是相同的,因此這里通過page來實現翻頁的數據
上面分析了每一個相冊的url數據的由來,可以看到我們下面需要找到user_id,ablum_id這兩個數據.
user_id的獲取:我們打開首頁,然后打開chrome的調試工具,可以看到每一個 女郎的url中都包含user_id這一項,因此我們只需要通過這個實現翻頁然后獲取每一個女郎的url,之后用正則將user_id匹配出來即可,代碼如下
ablum_id的獲取:想要獲取ablum_id當然要在相冊的頁面查找,于是我們在相冊頁面抓包獲得了如下圖的頁面
通過上圖我們清晰的知道每一個相冊的里面包含多少相冊,但最令人開心的是在這個頁面中不是動態加載,因此我們可以查看它的源碼,當我們查看源碼的時候,我們可以看到和user_id一樣,這里的ablum_id包含在了href中,因此我們只需要找到每一張相冊的url,然后用正則匹配處來即可,其中這個頁面的url簡化為:
https://mm.taobao.com/self/al...{0}&page={1}
所以我們可以通過上面得到的user_id構成請求即可,代碼如下:
上面已經獲得了user_id和ablum_id,那么現在就可以請求每一個相冊的json數據了,這個就不用多說了,詳情請看源代碼
MongoDB存儲
安裝方式
Windows下安裝請看我的MogoDB干貨篇
ubantu直接用sudo apt-get install安裝即可
安裝對應python的包:pip install pymongo
安裝完成以后就可以連接了,下面貼出我的連接代碼
現在這就算好了,當然這里還有很多東西需要優化的,像代理池。。。最后本人想在暑期找一個地方實習,但是一直沒有好的地方,希望有實習的地方推薦的可以聯系我,在這里先謝謝了
推薦
最后推薦博主的一些源碼
scrapy爬取妹子網站實現圖片的存儲,這個只是一個演示怎樣存儲圖片的實例,因此不想過多的投入時間去爬,因此寫的不是很詳細
scrapy爬取知乎用戶的詳細信息
更多文章請一步本人博客
總結
以上是生活随笔為你收集整理的scrapy抓取淘宝女郎的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Jenkins自动化构建
- 下一篇: 连接fiddler后手机无法显示无网络