1.元素
- 獲取店鋪搜索界面每個店鋪的’sellerid’
備註:通過sellerid可以在下面鏈接中獲取買家秀的圖片,也可以使用相關軟件進行下載。[將最後的xxx替換爲sellerid即可]
Link:https://h5.m.taobao.com/ocean/privatenode/shop.html?&sellerId=xxx
2.過程
2.1 搜索界面的網頁源碼
店鋪搜索界面如下:
備註:每一個界面會有20個結果,結果是根據熱度排序的
源碼如下:
trace-uid:與sellerid是一致的
貓受屋:店鋪的名字
備註:每一頁對應可以搜索得到20個類似的id。
2.2 通過Chrome控制檯獲取sellerid
//備註:需要保證20個店鋪都加載過,否則獲取的不完整
tag_list=document.getElementsByClassName("list-img");
str_pr="";
for (var i =0; i < tag_list.length; i++) {
a_list=tag_list[i].getElementsByTagName("a");
trace_uid=a_list[0].getAttribute("trace-uid");
trace_title=a_list[0].title;
str_temp=trace_uid+':'+trace_title;
str_pr=str_pr+str_temp+'\n';
}
console.log(str_pr);
對應的一段源碼如下:
2.3 搜索鏈接
如下鏈接:不能得到任何與第幾頁相關的內容
url='https://shopsearch.taobao.com/search?q=%E6%89%8B%E5%8A%9E&js=1&initiative_id=staobaoz_20200511&ie=utf8';
'q=%E6%89%8B%E5%8A%9E':搜索的內容,url二次編碼
'ie=utf8':編碼格式
下翻一頁與上一頁對比:
url1='https://shopsearch.taobao.com/search?q=%E6%89%8B%E5%8A%9E&js=1&initiative_id=staobaoz_20200511&ie=utf8';
url2='https://shopsearch.taobao.com/search?q=%E6%89%8B%E5%8A%9E&js=1&initiative_id=staobaoz_20200511&ie=utf8&s=20';
可以看到末尾的多了 ‘s=20’ ,可以通過這個鏈接,每次獲取網頁源碼,從中進行提取。
備註:
上面的方法不可行,因爲需要進行登錄,哈哈~
因此,需要在控制檯輸入JS代碼,將每次的結果進行復制
2.4 控制檯
有這麼一項:
url='https://tmatch.simba.taobao.com/?name=tbuad&o=j&count=20&p4p=tbcc_p4p_c2015_8_130026_15891809314781589180932117&pid=430409_1006&keyword=%CA%D6%B0%EC&offset=20';
name='tbuad';
count=20;
p4p='tbcc_p4p_c2015_8_130026_15891809314781589180932117';
pid='430409_1006';
keyword='%CA%D6%B0%EC';
offset=20;
經過了一番測試,得到如下結果:
- count:返回搜索結果的數目,最大200
- offset:偏移,從將offset後count個店鋪信息返回
- keyword:類似於url二次編碼,但似乎還進行了其他處理,不能直接解碼
- p4p可以去掉
- pid可以任意修改,但一定要有
類似於一個接口
其中的內容如下:
備註:果不其然,只有20條數據。
單拎出來一條:
SELL:賣出的數目
SELLERID:店鋪的sellerid
GRADE:類似於熱度,數字越大、熱度越高
ISMALL:不知道
SHOPNAME:店鋪的名字
SHOPID:店鋪的id
備註:可以使用python批量獲取N條數據,將其排列得到熱度較高的店鋪。python代碼就不貼出來了 。
3.總結
這纔不過是第一篇,以後指定會遇到各種奇奇怪怪的網站~
其中類似於url二次編碼的問題,是值得思考與探討的~
//這兩個是如何表示同一種內容的?
//使用Javascript encodeURI() 函數,用於完整的URL編碼。',
str1='%E6%89%8B%E5%8A%9E';//encodeURI
//使用Javascript encodeURIComponent() 函數,用於拼接URL的參數。
str2='%CA%D6%B0%EC';//encodeURIComponent
關於圖片下載的部分內容:
鏈接:https://wenshitaiyi.lanzous.com/ichlukf
密碼:8pzd
備註:生成的文件夾與該.exe文件在同一個路徑下!🤔