完整流程 | 閑魚哪些東西好賣?我?guī)湍惴治龀鰜砹?
大家好,我是安果!
最近有小伙伴后臺給我留言,說自己最近想在閑魚上賣一點東西,但是不知道哪些商品更適合自己,哪些商品更容易出單,希望我能給他一點建議!眾所周知,閑魚是國內(nèi)最大的線上跳蚤市場,我們通過 App 注冊后就可以在平臺上進行商品買賣了
本篇文章將介紹從閑魚獲取合適商品的完整思路,供大家參考
#?1. 分析
對于有貨源優(yōu)勢的個人商家,直接在閑魚 App 中上架商品,然后選擇一種方式( 比如,通過?某魚幣或魚塘 )去推廣即可
而大部分的普通人并不存在貨源優(yōu)勢,這時候我們需要通過下面 3 個步驟去完成選品
對 App?進行日常訓練
通過數(shù)據(jù)分析獲取熱門商品
結(jié)合自身優(yōu)勢進行消化理解,完成商品上架
#?2. 日常訓練
App 日常訓練作為最重要的一步,幫助我們篩選出有用數(shù)據(jù),過濾掉大部分的無效信息
2-1 ?定制我的頻道
入口:App 首頁 - 閑魚( 底部 Tab ) - Tab 管理頁面( 頻道切換 Tab )

進入到我的頻道頁面,就可以根據(jù)自己的優(yōu)勢( 賣東西分類 )選擇首頁展示的頻道

2-2? 定向搜索
入口:App 首頁 - 閑魚( 底部 Tab ) - 搜索輸入框(輸入關(guān)鍵字)- 點擊搜索按鈕
在 App 搜索輸入框內(nèi)輸入關(guān)鍵字,點擊搜索,可以進行一次定向查詢
每一次的定向查詢都會影響都會影響首頁「?猜你喜歡?」Tab 頁面展示的內(nèi)容
2-3??日常訓練
在首頁商品 Tab 頁面或定向關(guān)鍵字搜索結(jié)果列表中,對于沒有意義的商品可以長按 Item,選擇「?屏蔽同類商品?」區(qū)域
這樣,后面就不會展示該商品同類的商品出來了

#?3. 數(shù)據(jù)分析
通過上面的操作,我們可以使用自動化爬取數(shù)據(jù)進行一波分析了
這里以「?猜你喜歡?」Tab?頁面為目標頁面,使用 AutoJS 爬取數(shù)據(jù)為例進行講解
3-1??打開 App,清除剪切板,首頁完全加載
function?main()?{
????log("啟動閑魚,開始爬蟲。。。")
????//啟動閑魚之前,清除剪切板
????setClip("");
????app.launchApp("閑魚")
????//等待到達首頁
????text("會玩").findOne();
????log("【閑魚】首頁加載成功")
????...
}
3-2? 獲取商品信息
獲取商品標題、熱度( 即:想要人數(shù) )、價格
????...
????//商品列表
????var?goods?=?id("com.*.*:id/cardview_61801").find()
????for?(var?i?=?0;?i?????????log("遍歷商品")
????????//每一條商品
????????var?good?=?goods[i];
????????//標題
????????var?title_element?=?good.findOne(id("com.*.*:id/content_title"))
????????//熱度
????????var?hot_element?=?good.findOne(id("com.*.*:id/hot_point"))
????????if?(title_element?&&?hot_element)?{
????????????//標題內(nèi)容
????????????var?title?=?title_element.text()
????????????//熱度(正則匹配)
????????????var?hot?=?Number(hot_element.text().replace(/人想要/,?''))
?????????????//價格
????????????var?price?=?good.findOne(id("com.*.*:id/price")).text().replace(/¥/,?'')+"元"
????...
3-3??熱度及黑名單關(guān)鍵字過濾,進入商品詳情
通過自定義「 熱度 」的下線,商品熱度大于這個值的才為有效數(shù)據(jù)
另外,通過「 黑名單 」關(guān)鍵字列表,將標題欄包含這些信息的商品過濾掉
PS:「?商品價格?」同樣可以設(shè)置一個上限值,超過這個值的商品不進行采集
//熱度下線
var?hot_min?=1000
//價格最高
var?high_price?=?100
//屏蔽關(guān)鍵字
var?black_words_list?=?["洗衣機","餐桌","烤箱","書桌"...]
...
?//熱度下線
????????????if?(hot?????????????????log("商品熱度為:"?+?hot?+?",太低不采集!")
????????????????continue;
????????????}else?if(is_black(title)){
????????????????log("商品標題為:",title,",踩到黑名單,不采集!");
????????????????continue;
????????????}else?if(is_been_catched(title)){
????????????????log("商品標題為:",title,",之前被采集過,這里不重復采集!");
????????????}
????????????log("標題內(nèi)容為:"?+?title?+?",熱度:"?+?hot+",價格:"+price)
????????????good.click()
????????????log("點擊進入到商品詳情。。。")
????????????sleep_random()
...
對滿足條件的商品,模擬點擊跳轉(zhuǎn)到商品詳情頁面
3-4??過濾廣告
商品列表中會包含一些商品廣告,我們通過正常商品、廣告商品的頁面元素區(qū)別,過濾掉廣告商品
...
?if?(text("商品詳情頁").findOnce())?{
????????????????log("這是一條廣告。。。")
????????????????back()
????????????????continue;
????????????}
...
3-5??獲取口令碼
在商品詳情頁面,點擊右上角的分享圖標,在分享對話框中,點擊「 T 口令 」按鈕,這樣商品的口令碼就復制到剪切板了
//復制口令
var?copy_code?=?true;
//點擊某個元素,知道一個元素出現(xiàn)
function?click_sure(target_element,next_selector){
????//點擊元素
????while(true){
????????//點擊元素
????????click(target_element.centerX(),?target_element.centerY());
????????//如果next_selector為null,或者找到下一頁面的元素
????????if(!next_selector?||?(next_selector&&next_selector.findOnce())){
????????????break
????????}
????????sleep(1000)
????}
}
...
?var?share_element?=?desc("分享").findOne(6000).bounds();
?click_sure(share_element,desc("...口令"))
?log("點擊淘口令,拷貝到剪切板")
?//等待分享對話框出現(xiàn)
??if(copy_code){
??????????desc("...口令").findOne(6000).parent().click()
??}
??sleep_random()
...
3-6? 去重及循環(huán)滑動頁面
由于滑動頁面可能會出現(xiàn)重復的商品,這里根據(jù)商品的標題對采集的數(shù)據(jù)集進行去重
//爬取數(shù)據(jù)結(jié)果集
var?results?=?[]
//回退到主界面
function?back_main_page()?{
????//判斷是否在主界面
????while?(true)?{
????????if?(currentActivity()?==?'com.*.*.home.activity.MainActivity')?{
????????????break;
????????}?else?{
????????????back();
????????}
????????sleep(1000)
????}
}
...
??let?obj?=?{}
??results?=?results.reduce(function?(item,?next)?{
????????obj[next.title]???''?:?obj[next.title]?=?true?&&?item.push(next)
????????return?item
??},?[])
??sleep_random()
??//回退兩次到桌面
??back_main_page()
...
3-7? 發(fā)送微信群聊
根據(jù)配置信息采集完數(shù)據(jù)后,最后將采集結(jié)果發(fā)送到對應的微信群中
function?send_wx_msg(group_name,results){
????//如果休眠,喚醒設(shè)備
????log("爬取完成!準備分享到微信群。。。")
????device.wakeUpIfNeeded()
????app.launch("com.tencent.mm");
????text("微信").waitFor()
????//點擊進入到聊天界面
????var?chat_element_bounds?=?text(group_name).findOne().bounds();
????click_sure(chat_element_bounds,id("auj"))
????sleep(3000)
????results.forEach((item)?=>?{
????????//發(fā)信息
????????log("準備發(fā)送微信出去。。。。")
????????//數(shù)據(jù)轉(zhuǎn)換
????????id("auj").className("EditText").findOne().setText(JSON.stringify(item))
????????sleep(3000)
????????//發(fā)送
????????text("發(fā)送").click()
????})
????log("發(fā)送成功!")
????//返回
????back();
????home();
}# 4. 總結(jié)一下
通過上面的一系列操作,就可以從訓練后的商品列表中采集到合適的商品進行上架了
需要注意的是,由于 App 分享頻次的功能限制,配置 T 口令復制次數(shù)最好限制在 10?個商品以下
我已將文中所有源碼上傳到下方公眾號后臺,關(guān)注「?煎蛋搞錢?」后回復關(guān)鍵字「 xyxp?」即可以獲取
如果你覺得文章還不錯,請大家?點贊、分享、留言?下,因為這將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強動力!

