iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0
Software Development

爬蟲基礎入門與實際應用系列 第 29

DAY29、專題三 : yt搜尋機器人 (3)

  • 分享至 

  • xImage
  •  

昨天我們已經開啟了youtube的網頁,今天要可以正式來搜索了,
其實整體的概念非常直覺,因為是用selenium的緣故,那麼首先,
我們先打開yt,利用之前講過的方式,定位到搜尋欄的位置
https://ithelp.ithome.com.tw/upload/images/20221014/20152706X4Ey5UhzNI.png
接著右鍵複製他的xpath,則這個xpath就代表著這個互動搜尋欄的位址,
接著針對這個物件使用顯式等待,只要搜尋欄載入完成,我們就可以繼續下一步了。
https://ithelp.ithome.com.tw/upload/images/20221014/20152706YF9I5zcoIF.png
搜尋欄載入好後,就利用selenium的find_element來定位,
將這個位置包裝成一個物件叫做search_box,
再來就可以使用先前建立的search_keywords的list,利用for迴圈來逐次搜尋,
搜尋的方式就是利用selenium直接將search_keys用send_key的method來
輸入進search_box中,接著同理,將搜尋鍵利用xpath的方式定位,
建立成物件,命名為search_button後,就利用search_button.click()點擊,
yt頁面照理來說就會進入搜尋頁面了。
那麼在這裡可以看到,在search_button.click()後,還有一個time.sleep(2),
以及以下內容使用了try...except包裝,
這就是因為yt在呈現搜尋結果時常需要一段時間,若是在影片結果尚未載入
完成時就對其搜索,將會出現找不到物件的bug,
因此這裡使用try...except包裝,如果找不到,就再多等0.5秒。
今天大概就先到這裡,明天就可以開始進行影片的定位以及整理了。


上一篇
DAY28、專題三 : yt搜尋機器人 (2)
下一篇
DAY30、專題三 : yt搜尋機器人 (4)
系列文
爬蟲基礎入門與實際應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言