采集小紅書數據爬蟲:
1.本來是要通過app端的接口去直接采集數據,但是app接口手機端設置本地代理這邊開啟抓包后就不能正常訪問數據。
所以就采用了微信小程序里的小紅書app接口去采集數據。
2.通過 fiddler去抓包,手機端進入小程序端口選擇彩妝向下滑動請求數據,這邊fiddler就會抓到請求數據和相應的response。


由上邊的兩圖可以看到請求的一個過程,這里每次單擊拖動只會更新10條數據(數據包含在data{}里),下面就要對請求的header參數進行分析。
3.經過分析 主要參數包含
"auth":"eyJoYXNoIjoibWQ0IiwiYWxnIjoiSFMyNTYiLCJ0eXAiOiJKV1QifQ.eyJzaWQiOiI5M2JhM2Q3MC03MWJhLTQzOGYtODhiNC03MDNiZDZlNDRkNjYiLCJleHBpcmUiOjE1NDEwNjkyNTJ9.MIolGQY-A-j-n2cxDYKeN9ILh4gBaYMHUWiA0IRJILQ"
"auth-sign":"13c136011f62d6bc0e7d2bf1f7f04201",
而且參數還具有一個時效性,請求的一段時間內是能夠返回得到有效數據的。
這里呢,暫時未做分析只是先把10條數據先拿下來試試,稍后再做處理。
import requests def main(): headers = { "charset":"utf-8", "Accept-Encoding":"gzip", "referer":"https://servicewechat.com/wxffc08ac7df482a27/117/page-frame.html", "authorization":"5bda7657a4ce660001f7eed8", "auth":"eyJoYXNoIjoibWQ0IiwiYWxnIjoiSFMyNTYiLCJ0eXAiOiJKV1QifQ.eyJzaWQiOiI5M2JhM2Q3MC03MWJhLTQzOGYtODhiNC03MDNiZDZlNDRkNjYiLCJleHBpcmUiOjE1NDEwNjkyNTJ9.MIolGQY-A-j-n2cxDYKeN9ILh4gBaYMHUWiA0IRJILQ", "content-type":"application/json", "auth-sign":"13c136011f62d6bc0e7d2bf1f7f04201", "User-Agent":"Mozilla/5.0 (Linux; Android 7.1.2; MI 5X Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 MicroMessenger/6.7.3.1360(0x26070336) NetType/WIFI Language/zh_CN Process/appbrand2", "Host":"www.xiaohongshu.com", "Connection":"Keep-Alive", } url = "http://www.xiaohongshu.com/sapi/wx_mp_api/sns/v1/homefeed?oid=homefeed.cosmetics_v2&cursor_score=1541067389.9540&sid=session.1540996623416187718" datas = requests.get(url= url, headers=headers ).json() data = datas['data'] # print(data) for i in data: print(i) print(i['title']) print(i['share_link']) if __name__ == "__main__": main()
結果如圖:
4.進入單個tag的詳情頁:
評論
5.能力有限,目前只能分析到這幾步,采集每一項tag的具體東西還沒做完善,后期的處理還需要更多新的東西支持,所涉及的東西很多自己也是初次接觸采集app端的數據,appium模擬還沒有接觸,后期的appium自動化測試模擬人工完成一系列的操作還在學習摸索中。