datawhale爬蟲task 1之正規表示式

2021-09-17 01:41:36 字數 2619 閱讀 2053

【任務一】(3天)

1.1 學習get與post請求

學習get與post請求,嘗試使用requests或者是urllib用get方法向發出乙個請求,並將其返回結果輸出。

如果是斷開了網路,再發出申請,結果又是什麼。了解申請返回的狀態碼。

了解什麼是請求頭,如何新增請求頭。

1.2 正規表示式

學習什麼是正規表示式並嘗試一些正規表示式並進行匹配。

然後結合requests、re兩者的內容爬取裡的內容

要求抓取名次、影片名稱、年份、導演等字?段。

參考資料: 爬蟲學習-day2正規表示式/

在客戶機和伺服器之間進行請求-響應時,兩種最常被用到的方法是:get 和 post。

請注意,查詢字串(名稱/值對)是在 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...