【任務一】(3天)在客戶機和伺服器之間進行請求-響應時,兩種最常被用到的方法是:get 和 post。1.1 學習get與post請求
學習get與post請求,嘗試使用requests或者是urllib用get方法向發出乙個請求,並將其返回結果輸出。
如果是斷開了網路,再發出申請,結果又是什麼。了解申請返回的狀態碼。
了解什麼是請求頭,如何新增請求頭。
1.2 正規表示式
學習什麼是正規表示式並嘗試一些正規表示式並進行匹配。
然後結合requests、re兩者的內容爬取裡的內容
要求抓取名次、影片名稱、年份、導演等字?段。
參考資料: 爬蟲學習-day2正規表示式/
請注意,查詢字串(名稱/值對)是在 get 請求的 url 中傳送的:
/test/demo_form.asp?name1=value1&name2=value2
有關 get 請求的其他一些注釋:
請注意,查詢字串(名稱/值對)是在 post 請求的 http 訊息主體中傳送的:
name1=value1&name2=value2有關 post 請求的其他一些注釋:
下面的**比較了兩種 http 方法:get 和 post。
getpost
後退按鈕/重新整理
無害資料會被重新提交(瀏覽器應該告知使用者資料會被重新提交)。
書籤可收藏為書籤
不可收藏為書籤
快取能被快取
不能快取
編碼型別
歷史引數保留在瀏覽器歷史中。
引數不會儲存在瀏覽器歷史中。
對資料長度的限制
是的。當傳送資料時,get 方法向 url 新增資料;url 的長度是受限制的(url 的最大長度是 2048 個字元)。
無限制。
對資料型別的限制
只允許 ascii 字元。
沒有限制。也允許二進位制資料。
安全性與 post 相比,get 的安全性較差,因為所傳送的資料是 url 的一部分。
在傳送密碼或其他敏感資訊時絕不要使用 get !
post 比 get 更安全,因為引數不會被儲存在瀏覽器歷史或 web 伺服器日誌中。
可見性資料在 url 中對所有人都是可見的。
資料不會顯示在 url 中。
參考:http 方法:get 對比 post
學習:python——深入理解urllib、urllib2及requests(requests不建議使用?) - null的部落格 - csdn部落格
正規表示式語法及例子 - whalefall - csdn部落格
import requests
re = requests.get('')
print(re.status_code) #200
#斷網:requests.exceptions.connectionerror: httpsconnectionpool(host='www.baidu.com', port=443)
import requests
import re
import csv
def movie_info(url):
headers =
res = requests.get(url, headers=headers)
ranks = re.findall(' (.*?)',res.text, re.s)
names = re.findall('([\u4e00-\u9fa5]+)',res.text, re.s)
countries = re.findall(' / ([\u4e00-\u9fa5]+) / ', res.text, re.s)
text = re.sub('導演: ',"",res.text) # :中文標點符號
directors = re.findall('(.*?) ', text, re.s)
scores = re.findall('(.*?)',res.text,re.s)
for rank,name,country,director,score in zip(ranks,names,countries,directors,scores):
writer.writerow([rank,name,country,director,score])
if __name__ == '__main__':
file = open('e:/nlp/movie.csv','w+',encoding='utf-8',newline='')
writer = csv.writer(file)
writer.writerow(['rank','name','country','director','score'])
for i in range(0,250,25):
url = '?start={}&filter='.format(i)
movie_info(url)
Datawhale組隊學習 Task01 02
這兩天主要學習的內容如下 task01 線性回歸 softmax與分類模型 多層感知機 1天 task02 文字預處理 語言模型 迴圈神經網路基礎 1天 num epochs 3for epoch in range 1 num epochs 1 for x,y in data iter output...
DataWhale天池比賽 Task5
常見的整合學習方法有stacking bagging和boosting,同時這些整合學習方法與具體驗證集劃分聯絡緊密。由於深度學習模型一般需要較長的訓練週期,如果硬體裝置不允許建議選取留出法,如果需要追求精度可以使用交叉驗證的方法。那麼在10個cnn模型可以使用如下方式進行整合 dropout經常出...
DataWhale 資料探勘 Task2
import warnings import matplotlib.pyplot as plt import pandas as pd import pandas profiling import scipy.stats as st import seaborn as sns warnings.fi...