iT邦幫忙

0

人數破百的line bot

小弟最近在製作bot但是功力還未很強出現了bug
但是畢竟人數都破百了....
我想尋求有人能否幫助我
我想要短期之內debug完成
主要是爬蟲遇到的問題.....
我用的語言是python
主要是想抓td以外的文字
像是span

pcw iT邦研究生 5 級 ‧ 2018-05-23 15:40:04 檢舉
試試看`selenium`
陳同學 iT邦新手 5 級 ‧ 2018-05-23 16:12:38 檢舉
對 我知道要用那個 但是網站上好像沒有完整的教學.....

2 個回答

3
froce
iT邦高手 2 級 ‧ 2018-05-23 16:45:44
最佳解答

1.selenium的主要功用是自動測試,利用browser開放的api,去模擬人類操作browser,但是很慢。

2.requests模組主要是用在將原始碼接回,但是遇到javascript動態產生的DOM,就無法處理。

3.兩者之間的差異,selenium接到的網頁原始碼會是chrome裡按右鍵,「檢查」出來的,目前網頁所有DOM的結構,而requests只能接收到「檢視網頁原始碼」,網頁一開始沒經javascript render的DOM結構。

4.要 速度/動態DOM 兩者兼具的話,就是自己去看那個網頁怎麼寫,透過擷取資料的方式,去抓到資料(通常是JSON)。

最後,建議寫爬蟲一定要瞭解web基礎,至少要懂ajax是什麼,幹嘛用的。
然後selenium英文官網文件蠻齊的。

看更多先前的回應...收起先前的回應...
陳同學 iT邦新手 5 級 ‧ 2018-05-23 17:30:55 檢舉

我知道....但是使用者太多所以慢慢學會不太行
我其實本來就不太會使用爬蟲是看requests好用就入手看看
後面技術需求 基本上要全部改用selenium 所以一時之間
還無法適應 基於使用者太多 所以看有沒有人願意帶我run一次流程看如何操作

froce iT邦高手 2 級 ‧ 2018-05-23 17:45:09 檢舉

使用者太多不會是藉口,就算帶你run一次,你不知道背後那些原理,改天你要抓的資料換個方式,你就GG了。
selenium當初我看官網範例,幾天不到就寫了一個簡單的爬蟲。
正規的requests就真的要理解網頁整體流程了。

selenium流程大概是這樣:
1.載入模組
2.載入webdriver
3.接入網址
4.操作DOM
5.引入想收集的html DOM

陳同學 iT邦新手 5 級 ‧ 2018-05-23 17:54:27 檢舉

selenium 會打開瀏覽器 又更好的選擇嗎?

pcw iT邦研究生 5 級 ‧ 2018-05-23 18:15:57 檢舉

可以用無頭的瀏覽器(headless browser),你的眼睛根本不會看到瀏覽器。
我個人是用phantomJS,但是他會偷懶有時候會render成mobile的畫面。

張少齊 iT邦新手 5 級 ‧ 2018-05-24 19:41:36 檢舉

那個...web driver已經可以帶入options進而headless囉~

然後推薦puppteer.js~

0
pcw
iT邦研究生 5 級 ‧ 2018-05-23 18:29:28

我自己是看下面的selenium資料
http://selenium-python.readthedocs.io/

陳同學 iT邦新手 5 級 ‧ 2018-05-23 18:36:31 檢舉

我剛試成功了 問題是push heroku 失敗= =

我要發表回答

立即登入回答