菜鳥又上來獻醜了,獻給其他跟我一樣的菜鳥,也歡迎老鳥指教。
最近因為工作需要抓取資料,想到之前看過的爬蟲語法,就想試圖的用語法來抓取資料,不然土法煉鋼的方式抓,扣掉手痠,其實也有好處,畢竟我是按時薪計費的,可以報時數。
但想想,文明人還是用文明人的方式......
講的很像不會寫程式的都不是文明人一樣.....開玩笑的,不要生氣。
語法是用Python+selenium完成。這邊主要是要分享我遇到困難然後找資料找很久才自己想到癥結點。(其實想到bug在哪,重點還是不會解,找資料也找不太到,也是有找到一些別人的語法方式,但乾脆直接用別人的語法,卻跑不動。我承認,我主要是找中文版,不是英文不會,只是懶惰。)
定位方是是使用xpath,當時有考慮過我複製的可能不是連結而不起功用無法點擊,果然。
以下圖為例:
比較簡單的就是像這樣沒有包覆的,那就可以直接複製這段的xpath,順利的點擊到下一頁,長這樣(//*[@id=”div_content”]/div[2]/div/div[6]/li[3]/a)。
但有另一種是有包覆的:
當初我一直用這段的xpath,但怎樣也不成功,比對後發現,他跟下一頁的xpath也長的差不多,都有a,是連結屬性,為何不成功?
長這樣(//*[@id=”div_content”]/div[2]/div/div[4]/div/div[1]/div/span/a)
直到我把他展開,抓I裡面的xpath才成功。
長這樣(//*[@id=”div_content”]/div[2]/div/div[4]/div/div[1]/div/span/a/i)