我目前是逢甲大學黑客社的顧問,也是去年的副社長,想當初我們在詢問社員為何要加入社團,為了駭別人電腦、進入暗網、想當駭客、覺得很酷、學程式、因為讀資訊系等,其實這些都是為了想要滿足某些慾望,「科技始終來自人性」,其實我們常常反覆地做一件事情,那就會想阿,何不寫個程式,讓程式幫我們做就好啦!
簡單的來說,就是把網站上面的資料複製下來,一筆資料很容易複製,那一千筆呢?更不要說是圖片,所以這就需要網路爬蟲來幫我們完成,這隻程式可以幫我們把網站資料爬(下載)下來,不管是圖片還是文字資料,這就是爬蟲,而我們這邊選擇以Python來撰寫,因為Python具有幾個特色:可讀性與簡潔性,如果是有寫過其他程式語言的就知道,這兩點在語言中很重要,對於一個工程師撰寫一個可讀性的程式碼超級難,我有一堆同學還在寫髒code呢,而且用Python來實作爬蟲程式碼其實沒幾行很簡潔,非常適合初學者學習。
pip install jupyter notebook
pip install requests
pip install beautifulsoup4
jupyter notebook
import requests
from bs4 import BeautifulSoup
import requests
from bs4 import BeautifulSoup
r = requests.get("https://www.ptt.cc/bbs/MobileComm/index.html") #將此頁面的HTML GET下來
print(r.text) #印出HTML
import requests
from bs4 import BeautifulSoup
r = requests.get("https://www.ptt.cc/bbs/MobileComm/index.html") #將網頁資料GET下來
soup = BeautifulSoup(r.text,"html.parser") #將網頁資料以html.parser
sel = soup.select("div.title a") #取HTML標中的 <div class="title"></div> 中的<a>標籤存入sel
<div class="title">
<a href="/bbs/MobileComm/M.1539248247.A.3CF.html">[問題]Pixel3 / XR / XZ3 選擇?</a>
</div>
for s in sel:
print(s["href"], s.text)
import requests
from bs4 import BeautifulSoup
r = requests.get("https://www.ptt.cc/bbs/MobileComm/index.html") #將網頁資料GET下來
soup = BeautifulSoup(r.text,"html.parser") #將網頁資料以html.parser
sel = soup.select("div.title a") #取HTML標中的 <div class="title"></div> 中的<a>標籤存入sel
for s in sel:
print(s["href"], s.text)
你好:
我在cmd輸入jupyter notebook後
瀏覽器啟動了,並重新導向至jupyter notebook後
瀏覽器頁面會完全空白
請問該如何處理呢?
請問小實作第二個步驟
print(r.text) #印出HTML
為何不是print(r)
r.text還有其他的用法嗎?
謝謝!
你可以 print(r) 出來看看
主要在這邊他用 r.text 是 BeautifulSoup 套件包給的應用
如果想知道有什麼其他的用法(ex: r.content ...等),可以去查查 BeautifulSoup 的官方 Document,應該會有幫助。
請問一定要在jupyter notebook 上面做嗎?可以用 Studio Code 或 Anaconda 嗎?