壹、物聯網應用--智慧農業
一、認識智慧農業影片
109年大學社會實踐線上博覽體會
二、無人機的應用之一
農業大躍進「無人機噴灑農藥」有效解決缺工問題
二、線上晶片版micropython
三、物聯網MQTT協定與MQTTBOX實作
認識MQTT(subscribe, topic ,publish)
1、chrome 線上應用程式商店新增MQTTBOX
2、設定MQTTBOX
(1)name:自訂
(2) host:broker.hivemq.com
(3 )protocol:mqtt/tcp
(4 )save
(5 )conneted
(6) subscribe和Topic to publish請輸入 cshs
(7)payload:輸入您的班級與座號
(8)再按publish送出
貳、網路爬蟲
一、認識python網路爬蟲
什麼是網路爬蟲
https://youtu.be/BdRjutf8K0c
二、HTML一種標記語言而非程式語言
HTML語言介紹:
https://www.fooish.com/html/
w3school網站:
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic
練習1:學習HTML
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_default
練習2:學習CSS
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_css_internal
練習3:學習Java Script
https://www.w3schools.com/html/tryit.asp?filename=tryhtml_script
練習4:學習get
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_form_method
練習5:學習post
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_form_method_post
練習6:網路爬文
http://cheng-min-i-taiwan.blogspot.com/2018/10/python_6.html
三、download及安裝電腦版python3.9.4,並安裝python套件
pip3 install requests
pip3 install beautifulsoup4
四、搜尋:
南投市公所-古早南投堡
檢視原始碼
f12/element修改
五、作業:
作業1:運用requests.get()讀取網頁原始碼
import requests
r=requests.get('https://www.ntc.gov.tw/1601/oldnantou')
print(r.text)
作業2:找出中文編碼
import requests
r=requests.get('https://www.ntc.gov.tw/1601/oldnantou')
print("encoding: %s" % r.encoding)
print("content: \n%s" % r.text[0:200])
作業3:設定中文編碼
import requests
r=requests.get('https://www.ntc.gov.tw/1601/oldnantou')
r.encoding='big5'
print("encoding: %s" % r.encoding)
print("content: \n%s" % r.text[0:200])
作業4:從bs4套件取出 BeautifulSoup
import requests
from bs4 import BeautifulSoup
r=requests.get('http://www.ntc.gov.tw/content/index.asp?m=1&m1=4&m2=15')
r.encoding='big5'
soup = BeautifulSoup(r.text, 'html.parser')
print(soup)
作業5:取出標題
import requests
from bs4 import BeautifulSoup
r=requests.get('https://www.ntc.gov.tw/1601/oldnantou')
r.encoding='UTF-8'
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.find('title'))
作業6:僅取出標題不含標籤
import requests
from bs4 import BeautifulSoup
r=requests.get('http://www.ntc.gov.tw/content/index.asp?m=1&m1=4&m2=15')
r.encoding='UTF-8'
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.find('title').text)
作業7:取出第一段文字
import requests
from bs4 import BeautifulSoup
r=requests.get('https://www.ntc.gov.tw/1601/oldnantou')
r.encoding='UTF-8'
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.find('p').text)
作業8:找出所有段落文字
import requests
from bs4 import BeautifulSoup
r=requests.get('https://www.ntc.gov.tw/1601/oldnantou')
r.encoding='UTF-8'
soup = BeautifulSoup(r.text, 'html.parser')
all_p = soup.find_all('p')
for p in all_p:
print(p.text)
作業9:找出所有超鏈結
import requests
from bs4 import BeautifulSoup
r=requests.get('https://www.ntc.gov.tw/1601/oldnantou')
r.encoding='UTF-8'
soup = BeautifulSoup(r.text, 'html.parser')
all_a = soup.find_all('a')
for a in all_a:
print(a['href'])
作業10:找出所有圖片
import requests
from bs4 import BeautifulSoup
r=requests.get('https://www.ntc.gov.tw/1601/oldnantou')
r.encoding='UTF-8'
soup = BeautifulSoup(r.text, 'html.parser')
all_img = soup.find_all('img')
for img in all_img:
print(img['src'])
作業11:用爬蟲資料找出來圖片網址
六、政府資料開放平台(提供json格式,提供合法擷取資料),
可避免若用網路爬蟲頻繁的擷取別人網站資料,易造成癱瘓對方網站。
json是描述資料結構的方式,鼓勵可用python合法擷取json所提供的資料。
四、作業練習:請練習可改json蘋果的資料。用python合法擷取json所提供的資料程式參考如下:
import requests
import json
r = requests.get('https://data.coa.gov.tw/Service/OpenData/FromM/FarmTransData.aspx')
text = json.loads(r.text)
for row in text:
if '百香果' in row['作物名稱']:
print ('交易日期:'+row['交易日期'])
print ('作物名稱:'+row['作物名稱'])
print ('市場名稱:'+row['市場名稱'])
print ('平均價:'+str(row['平均價']))
print ('交易量:'+str(row['交易量']))
沒有留言:
張貼留言