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