bilibili源码_selenium+phantomjs爬取bilibili
首先我們要下載phantomjs 你可以到 http://phantomjs.org/download.html 這里去下載 下載完之后解壓到你想要放的位置 你需要配置一下環(huán)境變量哦
如下圖:
首先,我們怎么讓瀏覽器模擬操作,也就是我們自己先分析好整個操作過程,哪個地方有什么問題,把這些問題都提前測試好,沒問題了再進行寫代碼。
打開bilibili網(wǎng)站 https://www.bilibili.com/ 發(fā)現(xiàn)下圖登陸彈窗
那么這里我們就得先把這個彈窗去除,怎么去呢?你刷新一下或者點一下 首頁 就不會出現(xiàn)了,所以這里我們可以模擬再刷新一次或者點擊首頁。
接下來搜索關鍵詞 蔡徐坤 打球 這時就涉及到搜索輸入框和搜索按鈕
點擊搜索后我們看到了下列內容,其中圈起來的就是要爬的信息啦 這時就涉及到頁面源碼獲取,數(shù)據(jù)元素定位
那么上面這個過程走完了的話 我們也可以選擇寫入xls格式,同時這里還少了一個事,那就是我現(xiàn)在才爬了一頁,那難道不寫個自動化爬取全部嗎?
那此時就得解決循環(huán)獲取和寫入xls 更重要的事怎么去操作頁數(shù)和下一頁按鈕
大致的思路就是這樣子了!!!
先導入這些模塊
定義一個瀏覽器對象并設置其他功能
創(chuàng)建excel文件,再創(chuàng)建一張工作表,名為 蔡徐坤籃球,并且設置支持覆蓋原數(shù)據(jù)!
打開網(wǎng)站
browser.get('https://www.bilibili.com/')
尋找 “首頁” 元素
先判斷是否加載 輸入框 再判斷搜索按鈕是否能點擊 達到條件后輸入內容進行搜索
這時搜索完 是彈出新的窗口 這時就得獲取窗口句柄 實現(xiàn)標簽頁跳轉
all_h = browser.window_handles#獲取所有窗口句柄browser.switch_to.window(all_h[1])#switch_to.window 標簽頁跳轉
接下來就是獲取頁面源碼了(此處非全部源碼)
WAIT.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#server-search-app > div.contain > div.body-contain > div > div.result-wrap.clearfix')))#堅持是否加載完所有搜索結果html = browser.page_source#page_source方法可以獲取到頁面源碼
然后搜索元素并提取內容進行保存
再最后就是循環(huán)獲取每一頁提取數(shù)據(jù)最后寫入xls文件!!!
總結
以上是生活随笔為你收集整理的bilibili源码_selenium+phantomjs爬取bilibili的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab偶极矩电场强度分布图_1.2
- 下一篇: centos 对已有卷扩容_CentOS