通過這一階段的學習,我知道了爬蟲中針對ip被封的解決方案,主要有三種小套路
1,修改請求頭,模擬瀏覽器(而不是**去直接訪問)去訪問
2,採用**ip並輪換
3,設定訪問時間間隔
下面是獲取ip位址的案例**
from bs4 import beautifulsoup
import requests
import time
defopen_proxy_url
(url)
: user_agent =
headers =
try:
r = requests.get(url, headers = headers, timeout =20)
r.raise_for_status(
) return
(r.text)
except
:print
('無法訪問網頁'
+ url)
defget_proxy_ip
(response)
: proxy_ip_list =
soup = beautifulsoup(response,
'html.parser'
) proxy_ips = soup.select(
'.odd'
)#選擇標籤
(proxy_ip_list)
(實話說,我還是不太懂,只是大致的知道了概念,具體怎麼實現還得下去補充只是然後再理解理解,因為現在我感覺層次還沒達到)
然後是使用**,案例**
def
('無法訪問網頁'
+ url)
return
false
url =
''text = open_url_using_proxy(url, proxy_ip_list[0]
)
接下來明白了selenium的概念和用法,比如建立乙個webdriver例項、開啟乙個頁面、關閉頁面、查詢元素、頁面互動、等待頁面載入等等
最後在session和cookie部分知道了靜態網頁與動態網頁的區別,以及靜態網頁的不足,接下來知道了為什麼要引入session和cookie,因為在使用者做登入操作的時候,服務端會下發乙個類似於 token 憑證的東西返回至客戶端(瀏覽器),有了這個憑證,才能保持登入狀態。但說實話這部分對大二的我的來說卻是很有挑戰,真心認識到自己知識的深深不足,我會努力的,最後深深感謝助教,謝謝
Task03異常處理
猜數字遊戲 題目描述 電腦產生乙個零到100之間的隨機數字,然後讓使用者來猜,如果使用者猜的數字比這個數字大,提示太大,否則提示太小,當使用者正好猜中電腦會提示,恭喜你猜到了這個數是 在使用者每次猜測之前程式會輸出使用者是第幾次猜測,如果使用者輸入的根本不是乙個數字,程式會告訴使用者 輸入無效 嘗試...
Task 03 異常處理
異常就是執行期檢測到的錯誤。計算機語言針對可能出現的錯誤定義了異常型別,某種錯誤引發對應的異常時,異常處理程式將被啟動,從而恢復程式的正常執行。1.python 標準異常總結 2.python標準警告總結 3.try except 語句 try 語句按照如下方式工作 首先,執行try子句 在關鍵字t...
Task03 資料重構
將資料train left up.csv和trainright up.csv橫向合併為一張表,並儲存這張表為result up list up text left up,text right up result up pd.concat list up,axis 1 將train left down...