摘要:剛下載時項目中使用后得不到某寶的數據,因為數據是動態生成的。使用去獲取數據某寶的取不到用某度的首頁試了下是可以的。我是根據店鋪名稱賣家地區中包含特定關鍵字來過濾的。把寶貝列表的做為輸入循環寶貝列表并進入抓取交易量數據并保存。
項目背景
踩坑過程</>復制代碼
因前段時間公司有需求,想得到我們公司所在地區(四線城市)的電商企業的銷售額排名情況,時間緊急,調研無
果,花費RMB若干買了某工具的數據服務(避免打廣告的嫌疑,就不提該工具的名稱了,網頁版的),勉強得到些數
據,在我看來效果并不理想。恰逢近期公司想做大數據項目,需要用到爬蟲,所以趁此機會研究一下怎么抓取到這個
數據。
最先使用的是火車(頭)采集器,配置過程不算很麻煩,只是效果實在不敢恭維,穩定性很差,同一個鏈接地址,一會兒能采集到數據,一會兒采集不到,完全摸不到套路,果斷棄坑。
然后使用的是八爪魚采集器,配置不很復雜,網上有不少配置教程,也有些簡易的模板可直接使用,功能比較強大,自帶瀏覽器功能,只要是頁面上能看到的內容基本上都能抓取到。就是數據抓取后導出時需要付費(以積分形式,注冊賬號給2000,之后花RMB購買)。還有就是在操作的過程中延時不能很好地控制(也許是我不會配置這個),造成觸發了某寶的反爬機制,彈出了登錄驗證,再之后就不知道怎么配置去繞過這個驗證了,不得已棄坑。
最后接收到領導的要求和客觀事實的存在,研究怎么自己開發實現這樣的功能。經過將近一周的努力,現在基本可以通過指定的驗證,進行數據的抓取。
(聲明一下,最初是從網上找了個項目MyCrawler,現在的功能是在該項目的基礎上實現的,只是使用到了項目包結構,沒有使用內部代碼,實在是懶得自己建項目,弄結構了。
原項目地址:https://www.cnblogs.com/sanmu...。
如果原作者介意的話,請聯系我刪除不相關代碼,聯系方式我會放在文末,謝謝。)
開發過程</>復制代碼
1)剛下載時項目中使用后得不到某寶的數據,因為數據是動態生成的。
2)在項目中使用Jsoup去獲取數據,也是獲取不到動態生成的數據。
3)使用HttpUnit去獲取數據,某寶的取不到,用某度的首頁試了下,是可以的。原因沒找到,也不知道該怎么去找,
反正就是response里空的,啥都沒有,很崩潰地棄坑了。
4)終于說到今天的主角了,在網上找了N久,最后找到了Selenium。順便說下,在此之前還找到了JxBrowser,不
過用不明白,果斷就算了。話說后來他們客服還打電話詢問情況來著。。。
開發環境
</>復制代碼
1)Win 10專業版 64位
2)JDK 1.8
3)Intellij IDEA Ultimate 2016.3
4)Maven用的IDEA自帶的Bundled (Maven 3)
5)Firefox 61 中文版
6)Selenium 3.11.0
7)geckodriver 0.20.0
開發思路
</>復制代碼
由于反爬機制的存在,為避免數據抓到到一部分,被迫中斷,所以采取分步抓取的方式。
1)打開某寶首頁,搜索店鋪,關鍵字為想要數據的地區(至于我用的哪個地區,代碼里有的),抓取并保存
店鋪列表。需要過濾,因為搜索結果中會包含不相關的店鋪。我是根據店鋪名稱、賣家、地區中包含特定關鍵
字來過濾的。
2)把店鋪列表的url做為輸入,循環店鋪列表url并進入,為方便操作,這一步要拼接部分地址,進入的是該店鋪
所有寶貝列表頁面,而且是按銷量排序后的。抓取并保存寶貝列表。
3)把寶貝列表的url做為輸入,循環寶貝列表url并進入,抓取交易量數據并保存。
開發進度
聯系方式</>復制代碼
目前開發出來的是開發思路中的步驟1)和2),其中步驟1)不會出現登錄驗證,步驟2)會出現。目前代碼
中包含登錄驗證部分。后續的部分會繼續開發。目前代碼運行中,在抓取寶貝列表的數據,400多個店鋪要抓
取還是需要不少時間的,為減少登錄驗證彈出的可能,設定了寶貝翻頁間隔30秒。
有需求代碼的同學可在評論中留下郵箱,我看到了會打包郵寄的。
</>復制代碼
郵箱:874544323@qq.com
也可以加QQ交流。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71489.html
摘要:中大多數的輸入框都是標簽,但是由于業務中前端有使用到基于實現的富文本編輯器,在實現自動化測試編寫時自然會涉及到對富文本器進行操作處理檢查該編輯器的元素,可以看到和正常的不同,該結構為一個里面裹了個而在其中輸入文字,則是在改變中的如果有換行的 web中大多數的輸入框都是標簽,但是由于業務中前端有使用到基于REACT實現的富文本編輯器,在實現自動化測試編寫時自然會涉及到對富文本器進行操作處...
摘要:一通過定位下拉框先導入的模塊,在使用方法進行操作方法一定位不等于不等于如果選項值不是固定的,直接將固定值替換成變量即可下面是的具體方法通過索引定位通過值定位通過文本值定位取消所有選項取消對應選項取消對應選項取消對應文本選項返回第一個選 showImg(https://segmentfault.com/img/bVbk4IA);一、通過select定位下拉框先導入Select的模塊,在使...
摘要:訂單號用戶商品標題商品價格商品封面圖商品其他屬性小明愛瘋手機其他屬性像上表中設計,有人會問了那關聯的意義何在呢我的回答是保持數據關聯,雖然商戶有可能改變商品屬性,但作為一名程序員,應該盡可能的記錄用戶所有的動作。 showImg(https://segmentfault.com/img/bVbdtuc?w=1824&h=1028); 電商大伙每天都在用,類似某貓,某狗等。電商系統設計看...
摘要:知識圖譜經過幾年的發展已經得到廣泛的應用。例如,某地區某行業連續出現了多筆逾期貸款,通過對行業和客戶的知識圖譜進行分析,可以及時發現該地區相關行業存在潛在風險的客戶。 知識圖譜經過幾年的發展已經得到廣泛的應用。當知識圖譜遇上人工智能,更加突顯出了它的優勢和價值。 最先應用于搜索 ![用Google搜索泰姬陵]() 最典型的就是在谷歌搜索引擎里面應用。谷歌是在2012年率先提出來知識圖...
閱讀 2478·2021-11-22 15:35
閱讀 3769·2021-11-04 16:14
閱讀 2696·2021-10-20 13:47
閱讀 2507·2021-10-13 09:49
閱讀 2078·2019-08-30 14:09
閱讀 2377·2019-08-26 13:49
閱讀 887·2019-08-26 10:45
閱讀 2778·2019-08-23 17:54