爬蟲學習日記(五)

KIM曉峰發表於2018-12-14

本來應該昨天來做這個的,但是Cindy有了一個新的東西讓我去做。

Solr上面的跑SUDU的Crawler被block掉了,估計是經常爬取資料,被遮蔽了,Cindy姐說SUDU那邊只要訪問的是Linux的機子就都會被block掉了,說到這裡,突然想到,可以在請求頭修改我們這邊的系統的資訊嗎,就是偽造,到時候去查檢視。然後Cindy姐要去看看ssm的SUDU,裡面原先是用HttpClient來爬取資料的,看改用selenium能不能爬到資料。

然後我就去看了,發現大多數route裡面用的都是httpclient的方式,而我之前自學的也是用的httpclient。百度了一下,selenium是模擬使用者操作的而已,來完成一些操作,比較主要的功能就是獲取動態網頁的資料,就譬如,你在百度圖片裡面,剛開啟的時候,是隻會顯示一部分圖片的,只有當你有往下拉的操作的時候,才會載入出後面的圖片。你用普通的方式爬,就只能爬到剛開始顯示出來的資料。但是用selenium就能實現這個滾動的功能,好像有方法,是可以模擬滾動的,而且我也看到了其他的方法,可以實現點選和其他的動作。

我新建了一個類,繼承了原先那些crawler要繼承的東西,因為要返回跟之前一樣的東西嘛。傳進來跟以前一樣的資料,只是我不對他進行處理,直接,模仿寫vessel的方式,呼叫之前的方法宣告瞭一個WebDriver物件,傳url進去,getPageSource返回原始碼,放在log裡面。commit,傳送請求,成功。

本來今天想繼續完成QA裡面在Excel加多幾欄的需求的,剛剛Cindy要我把SUDU換成selenium的方式,哈哈哈哈。臥槽,這個有點難吧,雖然好像也不是很難,哈哈哈,但還是比寫QA要難吧我覺得,這個真的就是後臺的東西,慢慢來咯,QA的東西只能先放放了。

那就這樣吧,到時候開始做了再寫寫一些新心得體會。

感覺又沒寫什麼,但是碼了這麼多刪掉有點可惜。後面寫QA的時候再繼續往下寫吧。


和狗子一起成為更好的人。

相關文章