iT邦幫忙

0

新手問 網路爬蟲?

大家好 我有看一下網路爬蟲介紹影片 主要都是說擷取網路資料 作分析等行為
目前用android studio 做app 想問一下
1.爬蟲有沒有辦法做到將整個網頁複製到app上呢?
(就是將網頁上一模一樣的介面顯示在APP上)

2.爬蟲可不可以做到在APP上做查詢呢?
(就是我將網路上查詢頁面複製到APP上 然後在APP上輸入後
將網站查詢結果直接放到APP?)
原本是打算直接用webview來實現網頁上查詢這塊 但後來討論是用爬蟲
請問有辦法做到嗎? 還是就只能截文字檔呢

看更多先前的討論...收起先前的討論...
ant1017 iT邦新手 5 級 ‧ 2018-12-06 18:24:34 檢舉
為什麼要增加難度...
a23308000 iT邦新手 5 級 ‧ 2018-12-06 18:26:54 檢舉
痾...因為被說只用webview連網難度太低..
froce iT邦高手 1 級 ‧ 2018-12-06 18:34:50 檢舉
...
爬蟲不是這麼用的。爬蟲是把網頁爬下來到本機,後續是要拆分資料出來進行分析。
你手機上把網頁存到手機再render,既不能省頻寬,也不能省手機運算資源...

webview不用要用爬蟲,提出這想法的先去搞懂爬蟲是什麼吧。
ant1017 iT邦新手 5 級 ‧ 2018-12-06 18:35:47 檢舉
你要的圖片、影片、文字都可以
但你要先了解"爬蟲"真正的意義,如何使用..
ant1017 iT邦新手 5 級 ‧ 2018-12-06 18:36:26 檢舉
應該是他們專題導師的想法吧XD
a23308000 iT邦新手 5 級 ‧ 2018-12-06 18:37:18 檢舉
其實我真的不太知道爬蟲是什麼 ,所以主要是想先問爬蟲可不可以做到 , 是老師叫我們使用爬蟲的 我也不知道為什麼 , 我知道webview不用爬蟲 我是說我們老師說用webview難度太低,所以改用爬的方式
想說把網頁內容直接放到app上 不用做連網(webview)的方式

主要是想問爬蟲做不做得到,如果做得到的話我再去深入鑽研
a23308000 iT邦新手 5 級 ‧ 2018-12-06 18:39:48 檢舉
請問一下 爬的東西是只有文字、圖片、影片檔嗎? 格式方面可以跟網頁一樣嗎?
(就是app有沒有辦法將網頁的顯示一模一樣的直接放到app上呢)
還有如果查詢那些不能靠爬的話 那是不是要用其他方式呢?
(因為我需要病人將查詢號碼(ex 身分證) 打上來後即時的做網頁查詢功能)
這些應該都不能靠預設爬的方式 來讀取文字檔吧??
weiclin iT邦高手 4 級 ‧ 2018-12-06 18:45:43 檢舉
1. 爬蟲絕對不是用來給你顯示一模一樣的界面的, 這樣的功能應該叫 proxy 了
2. 爬蟲也不是給你查詢用的, 正常人類會用 api 的方式去做
froce iT邦高手 1 級 ‧ 2018-12-06 18:50:02 檢舉
只能說你專題導師不懂裝懂。爬蟲真的不是這麼用的,出來業界講出來會被人笑死。

覺得專題太簡單就先從REST API弄起,弄個真正的Android app出來。
或是弄個RWD SPA。
ant1017 iT邦新手 5 級 ‧ 2018-12-06 18:58:24 檢舉
朝著別的功能想吧XD
專研這個沒什麼太大的意義
a23308000 iT邦新手 5 級 ‧ 2018-12-06 20:06:12 檢舉
剛剛看了一下phonegap 有沒有人知道這款呢? 可否將網頁直接顯示在android studio 並可直接做互動呢? 而不是像webview用連網頁方式
weiclin iT邦高手 4 級 ‧ 2018-12-06 20:12:12 檢舉
可以是可以, 你去問老師這會不會太簡單
淺水員 iT邦新手 5 級 ‧ 2018-12-07 00:18:57 檢舉
舉個爬蟲的例子:
假設我知道幾個小說的網站,希望每次執行程式可以時自動找出最新的內容,看哪個網站有新的內容就抓下來存為txt檔案或是顯示連結。方便自己看小說。

至於查詢某網站資訊,除非該網站沒提供 api 才會用爬蟲方式去抓資料,不然自己的網站都是直接用 api 處理。
淺水員 iT邦新手 5 級 ‧ 2018-12-07 00:38:31 檢舉
回應「 還是就只能截文字檔呢」:
理論上看得到的都可以抓,圖檔也是常被抓取的對象…
小魚 iT邦高手 1 級 ‧ 2018-12-07 07:55:11 檢舉
補充一下,
爬蟲回來的的確是文字,
但是你可以從路徑跟檔案名稱組出完整的圖片路徑,
然後就可以抓圖了.
ant1017 iT邦新手 5 級 ‧ 2018-12-07 08:22:39 檢舉
其實不懂裝懂的老師還蠻多個...還有許多是眼光短淺,直接認為這個專題沒有什麼進步空間,殊不知只是看了其冰山一角...出社會後才有的感觸...其實有些設計是可以作到產品化,或改善生活的,只是需要多點時間或者傳承..畢竟學生的經驗有限
wingkawa iT邦新手 4 級 ‧ 2018-12-07 10:06:05 檢舉
可以是可以,但爬資料不是這樣,整個網頁扒下來跟你用webview有什麼不同?
不論是從學習的角度來還是業界的角度,你要做的就是向上面小說網的例子:
用爬蟲把「需要的資料」(小說內文)抓下來,「不需要的資料」(網頁html、圖檔等)不要抓。
其實是你自己還不清楚爬蟲是幹嘛用的,所以才會有這些疑問。
都用爬蟲爬資料了,幹嘛還要連網頁介面、使用者可互動的按鈕那些啦哩啦渣的東西都爬下來?
把小說內文抓下來之後,丟到自己的view上,用自己設定的字體來呈現,這樣應該就符合老師的要求了,你也可以從中學到不少東西。
RenZhou iT邦新手 5 級 ‧ 2018-12-07 11:01:32 檢舉
這個就直接iframe目標網址...
newkevin iT邦高手 1 級 ‧ 2018-12-08 20:03:22 檢舉
學習製作釣魚網站 呵呵
簡單的網頁-文字檔網頁
爬出原始檔 加上 相容的 語法
複雜的 ..................

2 個回答

3
浩瀚星空
iT邦研究生 3 級 ‧ 2018-12-07 09:46:16

上面一直再說老師的不是。但其實我發現。老師的說法也沒有錯啊。
你們是否誤會老師的用意了。
不要將學校的課題跟現實應用搞混在一起。

就我所理解的,他們老師是要求他們用爬蟲的方式取得資源。再重新分佈到APP的佈局上顯示應用。但不能用WEBVIEW。因為那真的沒有技術性。

這同時學習了資料讀取應用的理念。因為在無法建立一個SERVER的情況下。爬蟲是最好也是最快的學習方式。

因為如果是一個正統的APP應用來說,理論上適合的情況是,需要一個SERVER端的應用。無論是網頁或是接收發送端。
但就當前他們的教育是只限在APP上。還要讓學生在決定及學習先架上一個SERVER相關端的話。或許會太過了。
所以用爬蟲的方式是最快的。

但爬蟲的定義其實是很廣的。且老師並沒硬性規定他們要去哪個站爬。至於有無定義主題我倒是從題目中看不出來。
以下要說的,可能有點算是小抄的情況。

其實所謂的爬蟲,並不一定需要去爬人家的網頁的內容。
如有提供RSS或是對應的XML跟JSON的話。你就可以更好處理。
如:天氣資源。

你可以將天氣資源獲取回來後。設計一個天氣的APP佈局。再將資料對應顯示上去。
這樣是不是很單純又簡單!

看更多先前的回應...收起先前的回應...

說的也是..學生要簡單概念就好..
現實就從畢業後開始XD..

froce iT邦高手 1 級 ‧ 2018-12-07 13:47:06 檢舉

我是覺得資料來源如果在專題上是個問題的話,用本機資料來源去模擬就好,這不成問題。
要用爬蟲也先去瞭解什麼時候要用爬蟲,有開放API的去接API,真的不行才用爬蟲,而且沒人爬蟲是把整站砍下然後原封不動的拿去render,做的到是做的到,但就是脫褲子放屁而已。

如果要專題題目吸睛的話,在加值應用模式多用點心,code不是重點。
如果只是要練code熟練度,像 standford 開放課程的寫個翻牌遊戲幫助還比較大,也更能專注於程式學習。
https://leolinn.com/369/standford-2015-ios-course

說webview太簡單然後想整站爬下來在render這種想法,我真的覺得本末倒置。

浩瀚星空 iT邦研究生 3 級 ‧ 2018-12-07 14:06:27 檢舉

@froce
其實你要先了解,他們學習的重點在哪邊才對。
我會認同你說的寫一個遊戲。不過其實寫一個遊戲來說,需要搭配到的對應技能又更多。如美工相關、動畫、動作。
要先了解的是,他們是否有學習到這些東西。

學生的學習標準並不是像社會那樣。要視情況及學校的本位在哪,來提供相對應的題目或是題材。並不能一味的直接用現實社會上的那一套來當標準。畢竟,有些學生並沒打算出來就做這個行業。你要要求到跟現實社會的標準。有些太過。

結果並不是他們的主要標準,主要的標準是在設計過程中所應用到的知識。

就用webview來說好了。如果東西是用webview的部份。站在app開發的角度上,它的確可以說是沒什麼技術可言。畢竟只要能顯示網頁放個盒子就好了。其技術的重點變成需求是在網頁的設計開發上。
這樣並不是教導的重點。因為教導學習的需求其實要著重於app的設計上。而不是網頁的設計上。學習的方向搞錯了才是本末倒置的做法。

至於你說取得頁面資料後。再重刻到佈局上是脫褲子放屁。就現實面來說的確是如此。
但就教導及學習面來說。這已經達到老師想要的標準跟需要學習的知識。

要知道學校學習的東西,其目的並非是要直接給現實面使用的。所以討論現實面的實體應用層面是沒有意義的。

曾經我就有在網路上看過一個題目。需求是要從一行列中的資料。可以新增、刪除跟建立。但不得使用sql跟相關資料庫的應用。

還是有人在那篇罵老師找麻煩、笨。但就學習本位來說。
這是在訓練程式架構上的邏輯概念。當然其做出來的成品。一定不適合現實層面上。因為這樣子做一定效能會非常的差。

froce iT邦高手 1 級 ‧ 2018-12-07 16:35:33 檢舉

他們的授課重點絕對不會是在爬蟲上吧?那為何要浪費學生的時間來學爬蟲錯誤的用法?只因為「專案太簡單」這理由?
教APP撰寫,重點是在整體架構、語法、UI框架掌握度...
浪費學生時間去學爬蟲,然後又用在錯誤的地方,這我真的只覺得沒抓到重點。

這跟刷題不一樣,刷題是訓練演算法和邏輯以及語言的熟練度。
但多浪費時間弄個出來也沒用的作法,函式庫也用別人的,多練個爬蟲只是更浪費學生的專注力吧?

standford那個課程你上個一堂就知道了,人家教課是真的專注於架構、邏輯然後帶到語言熟練度。美工那些不是重點。

浩瀚星空 iT邦研究生 3 級 ‧ 2018-12-07 17:15:48 檢舉

我想你誤會我說的重點了。
當然覺對不是著重於爬蟲上。
認真來說,他們是用「爬蟲」的名詞。但實際是依獲取資源為主。
所以我才會用「天氣資料」來做說明。其本意就是其實他們要學的,並非是我們所謂的「爬蟲」而是比較單純一種獲取資料的方法跟表現。

這樣子他們並不需要針對所謂「爬蟲」這一塊去研究太多。只要專心在app的佈局處理上面就好了。

我想你因該是將「爬蟲」視為我們真的的讀取網頁的分析資料處理。
雖然這也是我的猜測。我並不認為老師所謂的「爬蟲」就是我們以為的那種爬蟲。爬蟲的定義是很廣的。但都不偏離一個目的。就是獲取資料的來源處理。

來我們在爭論的「爬蟲」你偏向的是屬於比較需要高階的技術。網頁取得跟分析處理。這的確會有點難度。但我這邊是偏向不太需要技術層面的獲取資料。如json檔或是xml檔之類的東西。

如果是後者,相信並不會有所謂偏離重點相關的東西。

至於遊戲開發的部份,原則上並無不可。認真來說,除非是想要學習這一領域的人。才是需要去學習整體架構、語法、UI框架掌握度。
一般學生應付性的東西只要可以動就好了。

老師本身也很明白這個重點。因為他們以後未來並不需要靠這一領域來吃飯。所以要學習到「整體架構、語法、UI框架掌握度」。這對一般不學程式技術的人來說。已經算是太高階了。

重點在於角度及看法上的不同。不要將這一行飯,可以認為學校會教多少。能教到函數就算很好不錯了。

0
wwx
iT邦研究生 1 級 ‧ 2018-12-07 11:28:56

綜合大家的說法作總結:

1.有辦法

2.可以,
有辦法

我要發表回答

立即登入回答