闲鱼爬虫闲鱼商品数据爬虫
闲鱼爬虫源码淘宝闲鱼商品爬虫源码,可以爬取闲鱼商品的商品内容,图片,价格,出售人信息等等
运行本程序之后可以抓取手机闲鱼App中的商品数据,可以随意按照自定义的关键词抓取自己想要的商品数据。包含商品的详细信息,抓取入库了。可自行筛选符合自己要求的商品数据,方便快捷精准买到性价比高的二手商品。
爬到的数据样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [ { "title" : "大疆Mavic Air2畅飞套装,带换新,截止日期6月3号, 机器去年6月多购买,如图所示,所有配件全在,盒子扔了,有收纳包,自己又单独买了图二配件,包括增高架,抛投器,平板支架,机器完美无划痕,可以看我录的视频,遥控器也是完 美无划痕,电池循环次数如图所示,不议价不议价不议价,这个价格懂得都懂,所有信..." , "area" : "北京" , "itemId" : "642422473526" , "picUrl" : "http://img.alicdn.com/bao/uploaded/i4/O1CN011bIER51lP1kbfmtQ2_!!0-fleamarket.jpg" , "oriPrice" : "" , "tagname" : "极好/2人想要" , "soldPrice" : "5280" , "userNick" : "绣巷属新鲜的木瓜" , "itemType" : "detailCommonBuy" }, { "title" : "大疆御air1,全新机身加一块全新电池,个人闲置,昨天换新, 外加3块正常工作电池,一共4块电池,电池管家一套,机翼 叶片副厂两套,原厂两套,保护罩一套未拍上。现低价出售,功能一切正常,全新机器。不刀不刀,看到即是实价,讲价者勿扰。买到就是赚到。售出无质量问题不退不换。运费到付,当天确认收货退回运费。" , "area" : "山东" , "itemId" : "643106979306" , "picUrl" : "http://img.alicdn.com/bao/uploaded/i4/O1CN01OV1xCv1R3EaZkzWXJ_!!0-fleamarket.jpg" , "oriPrice" : "" , "tagname" : "极好/7人想要" , "soldPrice" : "3560" , "userNick" : "RuiSeptember" , "itemType" : "detailCommonBuy" } ] |
数据简单应用效果:做成自己的网页,按自己的条件重新搜索数据。标注描述中的关键字,按价格最低排序,很容易就能找到自己想要的商品。直接从网页上点击跳转到闲鱼App打开详情页
测试地址:http://stock.changu.net/xianyu/vue
源码介绍地址:http://changu.net/xianyu.html
核心hook代码
闲鱼商品搜索接口:
{"apiName":"mtop.taobao.idle.search.glue","apiVersion":"8.0","needJsonReq":false,"needLogin":false,"needWua":false}
请求参数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | { "activeSearch" : false , "bizFrom" : "home" , "forceUseInputKeyword" : false , "forceUseTppRepair" : false , "fromFilter" : false , "fromKits" : false , "fromLeaf" : false , "fromShade" : false , "fromSuggest" : false , "gps" : "39.925586,116.194936" , "keyword" : "你的搜索关键词" , "latitude" : "39.925586" , "longitude" : "116.194936" , "pageNumber" :1, "resultListLastIndex" :0, "rowsPerPage" :10, "searchReqFromActivatePagePart" : "searchButton" , "searchReqFromPage" : "xyHome" , "searchTabType" : "SEARCH_TAB_MAIN" , "searchType" : "common" , "shadeBucketNum" :1, "suggestBucketNum" :-1 } |
返回结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | { "data" :{ "item" :{ "main" :{ "clickParam" :{ "arg1" : "Item" , "args" :{ "biz_type" : "item" , "bucketid" : "21" , "cCatId" : "126856567" , "card_type" : "idlefish_search_card_item_waterfall" , "catId" : "50023914" , "id" : "642417625236" , "index" : "2" , "item_id" : "642417625236" , "item_type" : "goods" , "labelBucketId" : "3" , "page" : "7" , "pageSize" : "10" , "position" : "78" , "q" : "%E5%A4%A7%E7%96%86air2" , "rn" : "b9422f7d85c2674cfca17c4bbe82b2ad" , "search_from_page" : "xyHome" , "search_id" : "6235ddeb301fb829c4d99c1e028d88b0" , "spm" : "a2170.8011571.1.78" , "tag" : "wantnum-9" , "tagname" : "9人想要" , "tbCatId" : "125166009" , "type" : "1" , "unShowLabelParams" : "{" 36 ":" 轻微使用痕迹 "," 38 ":" DJI/大疆 "," 41 ":" ¥7407 "}" , "wantNum" : "9" }, "bizType" : "item" , "page" : "Page_xySearchResult" }, "exContent" :{ "area" : "浙江" , "detailParams" :{ "isVideo" : "false" , "itemId" : "642417625236" , "itemType" : "detailCommonBuy" , "picHeight" : "1920" , "picWidth" : "1080" , "soldPrice" : "5300" , "title" : "2月份购买的大疆御air2无人机随心换加畅飞套装。九成新,三 块电池均循环二十次左右。地点在浙江义乌,有同城者线下见面交易。" , "userNick" : "宁小城踢足球" , "want" : "9人想要" }, "isAliMaMaAD" : "false" , "isAuction" : "false" , "itemId" : "642417625236" , "oriPrice" : "¥7407" , "picHeight" : "218.66666666666666" , "picUrl" : "http://img.alicdn.com/bao/uploaded/i3/O1CN01gdnVB41n2FHTKtspd_!!0-fleamarket.jpg" , "picWidth" : "164.0" , "placeholderColor" : "#F7F7F7" , "price" :[ { "bold" : "true" , "marginBottom" : "4" , "text" : "¥" , "textColor" : "#ff4444" , "textSize" : "12.0" }, { "bold" : "true" , "marginBottom" : "2" , "text" : "5300" , "textColor" : "#ff4444" , "textSize" : "18.0" } ], "priceTag" :[ { "data" :{ "fontWeight" : "w400" , "lineHeight" : "1.6" , "text" : "9人想要" , "textColor" : "#FFA3A3A3" , "textSize" : "10.0" }, "type" : "Text" } ], "richTitle" :[ { "data" :{ "fontWeight" : "w700" , "lineHeight" : "1.3571428571428572" , "text" : "2月份购买的大疆御air2无人机随心换 加畅飞套装。九成新,三 块电池均循环二十次左右。地点在浙江义乌,有同城者线下见面交易。" , "textColor" : "#FF333333" , "textSize" : "14.0" }, "type" : "Text" } ], "showVideoIcon" : "false" , "stuffStatusTagHeight" : "0.0" , "stuffStatusTagWidth" : "0.0" , "title" : "2月份购买的大疆御air2无人机随心换加畅飞套装。九成新,三 块电池均循环二十次左右。地点在浙江义乌,有同城者线下见面交易。" , "userActiveUrl" : "https://gw.alicdn.com/tfs/TB1zIymVUz1gK0jSZLeXXb9kVXa-30-30.png" , "userAvatarUrl" : "http://img.alicdn.com/sns_logo/i1/O1CN01UZiot91n2FHGxgaOU_!!0-fleamarket.jpg" , "want" : "9人想要" }, "targetUrl" : "fleamarket://awesome_detail?id=642417625236&flutter=true&referPageArgs=%E5%A4%A7%E7%96%86air2&referPage=Page_xySearchResult&trackParamsJson=%7B%22q%22%3A%22%25E5%25A4%25A7%25E7%2596%2586air2%22%2C%22page_number%22%3A%227%22%2C%22item_id%22%3A%22642417625236%22%2C%22item_type%22%3A%22goods%22%2C%22index%22%3A%222%22%2C%22id%22%3A%22642417625236%22%2C%22rn%22%3A%22b9422f7d85c2674cfca17c4bbe82b2ad%22%2C%22search_from_page%22%3A%22xyHome%22%2C%22search_id%22%3A%226235ddeb301fb829c4d99c1e028d88b0%22%7D" } }, "template" :{ "name" : "idlefish_search_card_item_waterfall" , "url" : "https://ossgw.alicdn.com/rapid-oss-bucket/1615185324004/idlefish_search_card_item_waterfall.zip" , "version" : "6" } }, "style" : "flow" , "type" : "DX" } |
闲鱼商品详情页:
详情页请求参数:
{"gps":"39.925575,116.194931","itemId":"626382089218","latitude":"39.925575","longitude":"116.194931","needSimpleDetail":false},[request]:{"apiName":"mtop.taobao.idle.awesome.detail","apiVersioin":"1.0","gps":"39.925575,116.194931","mParam":{"gps":"39.925575,116.194931","itemId":"626382089218","latitude":"39.925575","longitude":"116.194931","needSimpleDetail":false},"mRequestConfig":{"apiName":"mtop.taobao.idle.awesome.detail","apiVersion":"1.0","needJsonReq":false,"needLogin":false,"needWua":false},"originJson":false,"param":{"gps":"39.925575,116.194931","itemId":"626382089218","latitude":"39.925575","longitude":"116.194931","needSimpleDetail":false},"requestConfig":{"apiName":"mtop.taobao.idle.awesome.detail","apiVersion":"1.0","needJsonReq":false,"needLogin":false,"needWua":false},"secondRefresh":false,"startTime":1618059082660}'}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | package com.taobao.idlefish.protocol.net; import com.taobao.idlefish.protocol.Protocol; import com.taobao.idlefish.protocol.net.api.BaseApiProtocol; public interface PApiContext extends Protocol { long getDate(); void logout(); <T, A extends ResponseParameter> void send(BaseApiProtocol<T, A> baseApiProtocol, ApiCallBack<A> apiCallBack); } -------------------------------------------------------------------------------- public void ss() { Log.c( "detail" , "jinyi.cyp80" , "begin recommendForPreload...." ); if ( this .mItemDetailDO == null || (( this .eN != null && this .eN.size() > 0 ) || ! this .mItemDetailDO.needRecommand)) { Log.c( "detail" , "jinyi.cyp80" , "return recommendForPreload...." ); return ; } ((PApiContext) XModuleCenter.moduleForProtocol(PApiContext. class )).send( new ApiProtocol().apiNameAndVersion( "mtop.taobao.idle.item.recommend.list" , "2.0" ).paramMap(JSON.parseObject(JSON.toJSONString(a( this .mItemDetailDO)))), new ApiCallBack<ResponseParameter>() { /* class com.taobao.fleamarket.detail.model.ItemDetailModel.AnonymousClass3 */ @Override // com.taobao.idlefish.protocol.net.ApiCallBack public void onSuccess(ResponseParameter responseParameter) { if (responseParameter.getData() != null ) { JSONArray cardList = ((JSONObject) responseParameter.getData()).getJSONArray( "cardList" ); if ((responseParameter.getData() instanceof JSONObject) && cardList != null ) { ResponseParameter unused = ItemDetailModel. this .a = responseParameter; Log.c( "detail" , "jinyi.cyp80" , "get prelaodData!!" ); } } } @Override // com.taobao.idlefish.protocol.net.ApiCallBack public void onFailed(String code, String msg) { Log.c( "detail" , "jinyi.cyp80" , "failed prelaodData!!" ); } }); } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?