104學習精靈

HTTP

HTTP
關注
邀請朋友
邀請朋友

Line

Facebook

複製連結

取消
超文件傳輸協定(HTTP,HyperText Transfer Protocol)是網際網路上應用最為廣泛的一種網路協議。所有的WWW文件都必須遵守這個標準。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。 HTTP是一個客戶端和伺服器端請求和應答的標準(TCP)。客戶端是終端用戶,伺服器端是網站。通過使用Web瀏覽器、網路爬蟲或者其它的工具,客戶端發起一個到伺服器上指定埠(默認埠為80)的HTTP請求。(我們稱這個客戶端)叫用戶代理(user agent)。應答的伺服器上存儲著(一些)資源,比如HTML文件和圖像。(我們稱)這個應答伺服器為源伺服器(origin server)。在用戶代理和源伺服器中間可能存在多個中間層,比如代理,網關,或者隧道(tunnels)。儘管TCP/IP協議是網際網路上最流行的應用,HTTP協議並沒有規定必須使用它和(基於)它支持的層。 事實上,HTTP可以在任何其他網際網路協議上,或者在其他網路上實現。HTTP只假定(其下層協議提供)可靠的傳輸,任何能夠提供這種保證的協議都可以被其使用。 通常,由HTTP客戶端發起一個請求,建立一個到伺服器指定埠(默認是80埠)的TCP連接。HTTP伺服器則在那個埠監聽客戶端發送過來的請求。一旦收到請求,伺服器(向客戶端)發回一個狀態行,比如"HTTP/1.1 200 OK",和(響應的)消息,消息的消息體可能是請求的文件、錯誤消息、或者其它一些信息。
關於教室
關注人數 73 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
關於教室
關注人數 73 人
104人力銀行從職缺中挑選出常見技能所成立的官方教室,提供大家進行共學互動。
學習主持人
持續分享知識,
有機會成為官方教室主持人
教室標籤
Hi~ 歡迎分享學習資源,有學習問題可匿名向Giver發問!
我要分享
我要提問

HTTP 學習推薦

全部
影片
文章

不知如何開始嗎? 先進行技能挑戰吧~

技能挑戰:初級
目前等級:未達初級
1553 人已通過「初級」測驗,通過率59%,和學習精靈一起探索知識、增強能力!
我要挑戰
為何.NET工程師要學會.NET CORE微服務技術?
再討論ASP.NET Core微服務技術之前, 我們先來討論ASP.NET目前的人才市場需求。
根據 iThome 報導,近 3 年「ASP.NET開發人員」已成為台灣企業最想招募的 IT 領域人才,而104 人力銀行更將「ASP.NET全端工程師」列為徵才成長幅度前 2 大的職缺,相關搜尋職缺數已多達上萬筆!
因此,目前許多台灣的中大型企業網站, 其開發的技術框架,大多都是使用ASP.NET及MVC的技術來進行開發。 在開發比例上,與JAVA相比大約一半一半, 也因此ASP.NET與JAVA堪稱為台灣業界程式開發兩大主流。
然而,光會使用ASP.NET及.NET MVC來開發可能還不夠。 因為在開發需求多變的環境下,許多的延伸應用若在原始的系統架構下執行,恐很難進行開發,必須仰賴更多的元件化開發概念,才有辦法做到。
元件化就好比樂高,它的核心是「複用」。 比如,我們可以用有限的樂高元件拼裝出各種栩栩如生的玩具。同樣,我們可以複用ASP.NET的元件,如依賴注入、配置框架、選項框架、日誌框架、HTTP中介軟體等,像流水線一樣拼裝出各種我們想要的Web應用。 而ASP.NET Core就是用來擴充更多不同應用需求的開發框架。
ASP.NET Core 是新一代的 ASP.NET,也是微軟第一個具有跨平台的Web開發框架,可運行於Windows平台、如Mac OSX以及Ubuntu Linux作業系統。 雖然微軟的開源來得有點晚,但這次開源確實也是很給力,C#也已經擺脫Windows系統的限制,且對容器化(Docker),微服務、容器編排(Kubernetes)等技術的支援非常友好,這很好地順應了雲原生的未來趨勢。 ​
而ASP.NET Core的每個微服務架構都實現了特定的功能並擁有自己的資料儲存。其特點是每個服務都是被單獨部署,以便可以獨立擴充套件。 ​
對於想要使用ASP.NET Core建立快速、跨平台和雲端的Web應用程式和服務的學習者而言。不妨參考我們最近推出的「​微軟 ASP.NET CORE 全端軟體工程師養成班」吧!
學習位置👉:https://reurl.cc/NGv5jp
這堂課你將會學習👇
✅ ASP.NET 物件導向開發技術:以C#程式設計為基礎,學習 ASP.Net 物件導向及MS SQL開發技術。
✅掌握全端開發技術:扎實訓練ASP.Net Core MVC網站開發與MVVM前端整合應用。
✅微軟雲端服務設計:ASP.Net Core Web API 開發訓練,整合微軟 Azure 雲端服務設計。
✅整合專題實作:分組模擬業界專案開發流程,將所學實際應用於整合專題,完成求職專案作品。
想掌握業界最新的ASP.NET微服務開發趨勢 並成為ASP.NET Core全端開發工程師? 現在就立刻開始學習吧❗️👇
X School 也提供「企業訓練包班」服務,如想暸解,請點以下連結。 https://reurl.cc/NA7QMq
3 1 3588 1

熱門精選

104學習精靈

產品

6小時前

新鮮人求職趨勢關鍵 x LINE 校園實習及證照
▶ 新手出社會,就業市場關鍵趨勢,你一定要知道!
我們將會講解2024新鮮人,就業市場現況
分享LINE實習計畫,體驗外商文化的你,千萬別錯過
#104就業數據 #LINE實習機會 #新鮮人起薪 #熱門證照 #趨勢產業
▶ 講座將帶你了解
⭐104人力銀行
✔ 企業愛的搶手人才Top3關鍵能力
✔ 新鮮人起薪中位數,別談低了!
✔ 職場學習No.1熱門關鍵字,你跟上了嗎?
✔ 有證照面試邀約,竟然高出..%
✔ 求職市場的關鍵數據,哪個產業最缺人?
⭐LINE
✔ 你不知道的LINE數據
✔ LINE校園招募、實習計畫介紹
✔ 成為 “LINER” 的福利
✔ 行銷人都要有一張!LINE 廣告證照 GREEN MEDAL 認證
0 0 633 0
學習精靈

12/10 00:00

1675 93
Mike Ku

Learn Code With Mike品牌創辦人

2021/11/18

掌握這6個開發重點優化Python網頁爬蟲的效率與穩定度
Q:如何正確設定Python網頁爬蟲的HTTP Headers(標頭)?
由於現在很多人使用Python網頁爬蟲爬取所需的資料,因此,有些網站會針對網頁爬蟲進行偵測,當Python網頁爬蟲沒有設定HTTP Headers(標頭),很容易就會被擋下來。
所以,Python網頁爬蟲在發送請求時,最好要設定HTTP Headers(標頭),如下範例:
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
response = requests.get(url, headers=headers, timeout=5)
如果不知道自己的User Agent(使用者代理),可以在Google搜尋的地方輸入「what is my user agnet」,按下搜尋即可得到。
Q:如何正確設定Python網頁爬蟲的設定HTTP Request timeout(超時)屬性?
Python網頁爬蟲在發送請求時,如果沒有設定timeout(超時)屬性,當目標網站沒有回應,請求將會持續嘗試和等待回應,除了造成目標網站的困擾,Python網頁爬蟲也無法繼續執行。如下範例:
headers = {
'user-agent': '...'
}
response = requests.get(url, headers=headers, timeout=5)
只要Python網頁爬蟲發送請求後,5秒內沒有接收回應,就會停止嘗試和等待。
Q:Python網頁爬蟲如何檢查HTTP Status Code(狀態碼)?
Python網頁爬蟲接收到網站的回應結果後,最好可以檢查HTTP Status Code(狀態碼)來確認是否正確,如下範例:
if response.status_code == 200: #正確
#接續執行
或是如下範例:
if response.status_code != 200: #不正確
return False
Q:Python網頁爬蟲如何檢查爬取的元素是否存在?
Python網頁爬蟲最普遍會遇到的問題,就是網頁的元素或樣式改變,導致整個網頁爬蟲中斷和發生錯誤。而最好的預防方法就是先檢查爬取的元素(Element)是否存在,再執行其它的任務,如下範例:
if title: #標題元素存在
#接續執行
else:
# 顯示警告訊息或發送訊息給管理人員
Q:Python網頁爬蟲的例外處理機制是什麼?
為了預防Python網頁爬蟲在執行的過程中,發生預期外的錯誤,以及後續能夠有效追蹤問題,最好實作例外處理機制,如下範例:
try:
# 爬蟲邏輯
...
titles = soup.find_all('h3', {'class': 'post_title'})
result = []
for title in titles:
if title:
result.append(title.getText())
else:
print('元素不存在')
else:
print('回應結果錯誤')
except Exception as e:
print("發生其它錯誤")
print(str(e))
Q:Python網頁爬蟲的檔案輸入/出(I/O)機制是什麼?
Python網頁爬蟲爬取到資料後,最常見的就是資料儲存,像是寫入資料庫、CSV或文字檔等,相較於在爬取的迴圈中進行讀、寫操作,會建議先將爬取的資料打包成串列(List)、元組(Tuple)或字典(Dictionary)等,爬取結束時再一次性寫入較有效率。如下範例:
try:
with open('post.txt', 'w') as file:
file.write('\n'.join(result)) #寫入爬取結果
except Exception as ex:
print(str(ex))
如果想要學習更多的Python應用教學,歡迎前往Learn Code With Mike( https://www.learncodewithmike.com/2021/11/6-tips-to-build-an-efficient-python-scraper.html )網站觀看更多精彩內容。
2 0 390 2
學習精靈

03/02 00:00

216 1

推薦給你

緯育TibaMe

03/11 10:13

【免費報名】3/18與你分享 跨域轉職正夯,揭密成功轉職心法
想跟著金牌就業培訓講師邁向你的理想職涯嗎?🚀
搶先報名留下轉職煩惱線上就有機會優先解答👉 https://bit.ly/48Tsxh8
年後往往掀起一波轉職潮,企業更釋出大量缺…
或許你不知道根據人力銀行統計「跨領域」轉職趨勢正逐年增高!
追逐理想職涯路上你並不孤單🤗
你缺的只是勇敢跨出的那一步~
▋ 跟著直播離成功更進一步
你將獲得…
🚩 年後全新局面的因應指南
🚩 跨領域轉職是「歸零」還是「未嘗試的成功機會點」?
🚩 7大領域的IT人才進入攻略
🚩 5個月內從0 → 實戰力的核心關鍵
🚩揭密跨域轉職者求職的突破點
本次邀請同時俱 #業界實戰、 #企業主管 、 #轉職就業培訓教學 三大經歷的雙講師線上與你分享一陸以來他們如何幫助眾多學員一個個推向理想職涯的!
▋ 本場講者
李偉銘 老師
軟體產業5年開發、管理、規劃資歷。
曾任資深軟體工程師、技術副理,經手許多金控及公家機關等開發專案。
現任 緯育TibaMe Java雲端服務開發技術養成班、前端工程師專業技術養成班等5大就業養成班授課講師
Reds老師
軟體產業5年開發、管理、規劃資歷。
曾任資深軟體工程師,軟體專案主管。擁有半導體、政府、中小型企業軟體專案開發與維護經驗,包含台灣惠普(HP)、民航局、神腦…等。
現任 微軟C#全端開發工程師養成班 講師
▋ 直播詳細資訊
主題:【揭密年後轉職薪高度TIPS】 5個月內從零基礎到成功跨域就業
時間:3/18(一) 20:00 - 21:00
直播連結:報名後活動當日mail提供
免費報名: https://bit.ly/48Tsxh8
0 0 9402 4
你可能感興趣的教室