⑴ 利用python的selenium模擬瀏覽器和看的視頻教程結果不一樣,求助!
先悄搭掘確認元素啟核的定位沒枝枝有問題;
可能是driver的支持問題,換個chromedriver試試。
⑵ [求助] python 如何爬取 網頁上調用JS函數打開的視頻鏈接
selenium + phantomjs 模擬點擊按鈕,或者另寫代碼實現js函數openVideo();
順著第一步再去解析新頁面,看看能否找到視頻的原始地址;
假設視頻的原始地址第二步找到了,在通過視頻的原始地址下載視頻就OK啦。
⑶ 如何利用Python來爬取網頁視頻呢
前幾天寫了個爬蟲,用path、re、BeautifulSoup爬取的B站python視頻,但是這個爬蟲有有個缺陷,沒能獲取視頻的圖片信息,如果你去嘗試你會發現它根本就不在返回的結果裡面。今天就用分析Ajax的方法獲取到。
分析頁面
點一下搜索,這個url才會出現數爛神,或者點一下下一頁
然後就構造這歷知個請求就可以了。需要注意的是最後一個參數不能添加。
代碼實戰
代碼裡面有些解釋已經很清楚了,在這里再次復習一下
re.sub()
這個函數傳入五個參數,前三個是必須傳入的pattern,、repl、string
第一個是表示的是正則表達式中模式字元串
第二個是要被替換的字元串
第三個是文本字元串剩下兩個可選參數,一個是count一個是薯虧flag。
時間戳轉換成標准格式的時間第一種方法
第二種方法
綜上就是這次的全部內容,多加練習繼續加油!
⑷ 如何使用python進行瀏覽器行為模擬
你可以使用python的webbrowser庫來模擬瀏覽器:
url=''
#OpenURLinanewtab,ifabrowserwindowisalreadyopen.
webbrowser.open_new_tab(url+'doc/')
#OpenURLinnewwindow,raisingthewindowifpossible.
webbrowser.open_new(url)
或者使用python的第三方庫, selenium
fromseleniumimportwebdriver
fromselenium.webdriver.common.keysimportKeys
browser=webdriver.Firefox()
browser.get('
)
assert'Yahoo!'inbrowser.title
elem=browser.find_element_by_name('p')#Findthesearchbox
elem.send_keys('seleniumhq'+Keys.RETURN)
browser.quit()
如果解決了您的問題請採納!
如果未解決請繼續追問!
⑸ python爬取快手視頻json數據和瀏覽器抓包工具獲取的不一樣怎麼辦
再給你看看這個
在這個位置可以直接看到視頻的,無意中瞄到了。。。醉了
⑹ python調用瀏覽器打開網頁
可以使用selenium模塊實現這個功能。希望可以幫到你~
⑺ Python 爬蟲爬坑路(二)——B站圖片,咸魚的正確 GET 姿勢
昨天在寫完 入門級爬蟲之後 ,馬上就迫不及待的著手開始寫 B站的圖片爬蟲了,真的很喜歡這個破站呢 (〜 ̄△ ̄)〜
這里不涉及到 Python 爬蟲的高級技巧,沒有使用框架,沒有考慮反爬機制,沒有使用非同步IO技術,因為這些,我都不會!
我們選定 B站的 動畫區 進行測試,打開後我們發現有好多好多圖....
但當我們使用 F12 查看這些圖片的時候,發現並沒有圖片的地址...
這就是目前大多網站使用的 Ajax 技術動態載入數據的鍋,可遇到這種情況這么辦呢?別急別急,我們知道這些圖片的地址一定是需要載入的,而目前常見WEB傳輸數據的基本就是方式 XML 和 Json (其實是我就知道這兩種...),那好我們去看看請求的 XML 和 Json 文件。
以下省略查找過程....
我們發現 B站的圖片地址是保存在 Json 裡面的,ok,我們保存好這個 json 地址:
https://api.bilibili.com/x/web-interface/dynamic/region?callback=jQuery172071087417824369_1505783866149&jsonp=jsonp&ps=15&rid=24&_=1505783866453
這個是 MAD·AMV 最新動態的 Json 文件,利用上面相同的方法,我們找到 3D區、短片·配音區、綜合區 以及 右邊排行部分 的相應 json 地址。
好在 Chrome 瀏覽器提供了一個 Preview 功能,自動幫我們整理好 數據,如下
這樣就很清晰啦,我們只需要一層層解析拿到 pic 即可。於是我們這樣寫:
我們利用 requests 內置的 json 解碼器,很不幸,報錯:
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
它提示說:解碼 Json 數據的時候出了問題,可能是在 第一行 第一列,咦?好奇怪,剛才不是用瀏覽器看過結構了嗎,沒毛病啊,怎麼還在報錯:Σ(  ̄□ ̄||)
別急別急,我們先看看原始的 Json 數據長啥樣?用 瀏覽器打開上面的 json 鏈接就可以了。
(/TДT)/ 前面的那些字母是幹嘛的呀,為什麼還有括弧啊!
所以我們知道了 Json 解析錯誤 的原因啦:後面在處理的時候把前面的這部分刪掉就好啦,另外我們也發現了 archives 這個關鍵字,我們在上一張圖看見過的哦,有印象嗎?啊,你說沒有呀,沒關系,這里你只需要記著它是一個 List 的數據類型就好了呀!
為了防止被當作是 惡意訪問 從而被封 IP,這里我們選擇犧牲時間,取巧使用 sleep(x) ,讓其等待一段時間之後再發出請求。
你可能會問我,呀,你這個,根本沒有代理、沒有混淆IP防止反爬、也沒有模擬 Ajax 請求動態抓取雲雲~
那我可以很負責的告訴你,你!走錯地方了!你要找的技術貼出門右拐!( ̄へ ̄)
我們恰巧使用的是 B站的 Ajax 技術,只要哪個視頻有了最新評論(或者是一下其它的條件),就會使用 Ajax 將最新的數據取出來。就像下面這樣:
所以可能在訪問人數多的時候,更新越快,越有可能獲得更多不同的圖片啦!
之後你就可以在吃飯的時候,把它掛起,然後吃飯回來就會發現有好多好多的圖片!(=・ω・=)
之後會陸續的更新自己爬蟲的爬坑過程,希望能夠找到小夥伴一起學習呀!