fbpx
直播筆記

Python網頁爬蟲—開發你的第一個網頁爬蟲

任務:爬取INSIDE硬塞網路趨勢觀察網站的文章標題和發布日期 第一步驟:安裝3個套件 request:發送請求到伺服端 beautifulsoup:解析伺服端回傳的網頁內容,也就是網頁原始碼。裡面內建的html解析套件,所分析出來的網頁原始碼有時候沒那麼準確,所以建議大家用lsml套件 lxml:解析xml、html原始碼的強大套件,解析出來的內容相對準確 第二步驟:網頁內容html原始碼的分析 在要爬取的地方按下滑鼠右鍵>檢查,chrome瀏覽器就會開啟開發人員工具,當你滑鼠停在哪邊它就會變色,這就是你在網頁上的位置 要爬取「INSIDE硬塞網路趨勢觀察網站」文章標題:它的網頁原始碼是h3,它的class是post_title,那等下要爬取時就是用h3這個html的標籤,而且它的class是post_title,這樣就可以定位到這個網頁的所有文章標題 要爬取「INSIDE硬塞網路趨勢觀察網站」發布日期:它的位置是hli的標籤,它的class是post_date的標籤,所以等下定位的時候,就是利用這個方式進行定位 第三步驟:以visual studio code為例開發網頁爬蟲 建立demo的資料夾 在資料夾底下建立scraper.py的檔案(python的檔案) 引入所需要的套件: beautifulsoup request:發送請求到網頁伺服端 get:去查詢網址的網頁內容,括號內寫入要傳的網頁網址,發送請求給伺服端後,它就會把這個網址的網頁內容回傳給我們,所以回傳給我們就要利用一個變數把它接起來(response) 用print的方式來看一下這個網頁的內容➡️回傳html原始碼,上面都帶有資料 第四步驟:把資料丟到beautifulsoup裡面請它幫我們解析 建立一個beautifulsoup套件,把剛剛所得到的網頁原始碼,丟給它來建立一個soup物件,有這個soup物件我們就能利用它來進行元素的定位。beautifulsoup要指定一個解析器來幫助它解析html原始碼,所以後面要加lxml 【爬取文章標題】 首先要取到一整頁文章的標題,所以就可以用find取得文章的標題,丟給它建立一個soup套件。在第二步驟有看到這個網頁上的標題標籤是h3,class是post_title的類別,同樣用個變數接起來(title)。➡️取得一個文章標題。(若不想要這些html的標籤,就可以用beautifulsoup的getText的方法把html的標籤給去掉) 如果想要抓到多篇文章,就要寫find_all,找到所有只要標籤是h3、類別是post_title的標題,這時候print出來的東西➡️是一個串列包含多個文章,所以要用for迴圈的方式來讀取每一個標題的元素,再一一利用getText的方法把html的標籤給去掉(不喜歡空白可以用strip把空白清掉)➡️爬取所有文章標題 【爬取發布日期】…
amyamy
November 3, 2020
333 系列初學程式小白學程式成長日誌程式新手

333系列 轉職工程師 | Iris 程式小白

這篇文章專為想轉職的朋友而寫 若你已是工程師也歡迎用此篇自我檢視🙂 如何成功轉職成為工程師? 這邊有10點小撇步也許能幫到你😍   1. 自帶「工程思維」🧠 以思考取代空想,練習將抽象的概念具體化成作法,一步步培養如工程師般的工程思維。 2. Problem Solving 🤔 解決問題的能力已經是老生常談,但真正能確實執行的人寡。真實地去發覺問題,進而面對它、處理它才是能進步迅速的良方。 3. Google Searching  ⌨ 如何運用 Google 搜尋引擎搜尋關鍵字是現代人必備的基本招,對於工程師更是如此。值得一提的是,資料搜集的過程看似簡單,但事實上它暗藏些許玄機,像是「如何從一次次的搜尋中釐清並更加精準地找出 Target」、「如何判斷資訊偏差的網站」都是需要格外留心注意的。 4. Teamwork  團隊合作&協作力在現今職場的重要性不在話下,工程師界也不例外。如何營造良好人際關係,以致於能夠順利溝通合作,使案子能夠如期執行是許多過度專注於專研技術的朋友常忽略的。 5.…
iris
September 15, 2020
學程式主題小聚專案思維

【學程式主題小聚-2個月擁有6000用戶,Side Project這樣做】

一個專案或是APP的完成,並不是一瞬間就完成的,都需要花費許多時間與心力,然而,Nic說過這個APP從發想idea,到中間設計、規劃的過程,再到最後產品的上線,花了他大約2個月的時間,聽到這裡我想大家心裡一定有個疑惑,才這麼短的時間就做出來的東西,真的是可以使用的?現在就快來看看Nic怎麼說吧! ✏️靈感來自於對生活的觀察,Nic就是這樣開啟了他的「Beyi北宜」Side Project。 【在成功之前先定義失敗】 有些事不做一定不會成功,做了你才知道自己的能耐在哪。Nic「Beyi北宜」APP上線之前,也有許多Side Project的經驗,如:「iGai愛改」、「DD3訂訂餐」,雖然不盡然都如他預期的好,卻也從中累積許多經驗以及為後續成功開發的APP蒐集可能所需的資料。     這些網站或APP到底為什麼沒辦法繼續在市場中生存下去呢?其中的原因有很多,其中最主要還是因為「使用者的消費習慣」難以更改,每個消費者都有不同的消費習慣或使用物品的方式,一旦他們覺得這個產品不如預期或是麻煩,且市場上有其他競品更加方便、吸引人,就會造成大眾的黏著度下降。 ✏️使用者很難更改習慣,除非你的方案比現有的好十倍 【失敗的經驗都是後來成功的助力】 要讓一個產品失敗的方式很容易,Nic列出了4點: 只專注在很潮的技術 想解決還沒出現或還很遙遠的場景 解決的不是痛點 自己都不一定想用 你以為這些失敗的產品就這樣沒有了用處嗎?!正因為這些經驗,Nic不知不覺中在Github上養了很多code,也從中試著切換自己的身分,不以開發者而是以使用者的角度思考問題,才有了「Beyi北宜」的出現,現在就跟著Nic的腳步,了解這個APP的開發過程吧!   【Beyi北宜的誕生過程】 Beiyi 北宜是一個即時影像與路況回報整合軟體。 在出門上山兜風前能夠立即知道今日路況,無論是黑箱、臨檢、事故,都能夠一手掌握,也可以透過平台分享路況成為其他車友的神助攻。   「Beyi北宜」APP的出現不是沒有原因的: 靈感來自於生活…
學程式助教
December 6, 2019
Javascript

[筆記] 從零開始製作 Chrome 套件到上架商店

專案緣起 在 Alpha Camp 擔任實習助教的一個好處,是可以參加大約每兩週舉辦一次的 Meetup — 不僅可以聽到他人分享獨特的專案和技術,有時也能給自己一些機會去挑戰和探索自己未知的領域。 一個多月前,公佈了隔一次的主題是「製作 Google Chome 套件」,且開放有興趣的與會者自己摸索和製作,最後再與大家分享。當時內心馬上冒出了兩種心情和想法: 眉頭一皺:這是什麼領域?會用到什麼技術?該製作什麼主題的套件? 內心雀躍:好酷的未知領域,如果能自己做出個好用的套件,一定很棒! 老實說,內心雀躍的心情馬上壓過所有的情緒,因此我很快就做出了決定。但馬上面臨的是主題挑選 — 在向朋友們收集可能的需求,但沒有找到合適的主題後,我開始思考著:「我在開發網路應用程式的過程中,是什麼行為不時吃掉了我很多時間?」 這可能就是我的需求,也可能會是其他開發著的需求 — 一個 Side Proeject 因此誕生。 (more…)
學程式助教
December 5, 2019