爬蟲網路請求模組
urllib.parse模組 —— 解析url
聚焦網路爬蟲 —— 根據既定目標有選擇的抓取某一特定主題內容(學習內容)
增量式網路爬蟲
深層網路爬蟲
瀏覽器會對url進行編碼。除英文本元、數字和部分符號外,其餘全部使用百分號加十六進製制進行編碼,每個漢字由3個百分號的十六進製製碼組成
# requests版本
import requests
url =
''req = requests.get(url)
with
open
('photo.png'
,'wb'
)as f:
f.write(req.content)
# urllib版本
from urllib import request
url =
''request.urlretrieve(url,
'photo.png'
)
urllib.request.request(『**』,headers=『字典型別』) —— 支援重構user-agent
變數(響應物件).getcode() —— 獲取狀態碼
變數(響應物件).geturl() —— 獲取url位址
獲取資料流程
普通獲取資料方法
獲取響應物件(urlopen)
讀取響應物件內容(read)、獲取狀態碼(getcode)、獲取url位址(geturl)等操作
需要重構user-agent
建立請求物件(構建user-agent)
獲取響應物件
獲取響應物件內容、狀態碼、url位址等
# 普通獲取網頁資訊
import urllib.request
res = urllib.request.urlopen(
'')print
(res)
# 獲取響應物件:
look = res.read(
)# 獲取位元組流b'\r\n......\r\n'
see = res.read(
).decode(
'utf-8'
)# 為空 —— 不能同時獲取位元組流和字串
print
(look.decode(
'utf-8'))
# 獲取字串 ...
# urlopen不支援重構user-agent
from urllib import request
headers =
res = request.urlopen(
'', headers = headers)
# 結果 typeerror: urlopen() got an unexpected keyword argument 'headers'
# request.requst支援重構user-agent
from urllib import request
headers =
url =
''req = request.request(url,headers = headers)
# 建立請求物件
res = request.urlopen(req)
# 獲取響應物件
print
(res.read(
).decode(
'utf-8'))
#
# 使用urlencode方式
import urllib.parse
keyword =
keyword = urllib.parse.urlencode(keyword)
print
(keyword)
# wd=%e8%80%81%e5%b8%88
# 使用quote方式
import urllib.parse
keyword =
'學生'
keyword = urllib.parse.quote(keyword)
print
(keyword)
# %e5%ad%a6%e7%94%9f
python教程第二講 Python爬蟲 第二講
for迴圈 name neusoft for x in name print x if x s print 哈哈 結果 neu s哈哈of t進度條 使用 pip install tqdm 安裝tqdm庫 匯入 tqdm 庫和 time 庫 from tqdm import tqdm import ...
機器學習 第二講
多元線性回歸又稱 multivariate linear regression 現在介紹一種可以表示任意輸入變數的符號 現在定義假設函式的多變數形式,包含以下各種引數 h theta x theta 0 theta 1 x 1 theta 2 x 2 theta 3 x 3 cdots theta ...
Cmake學習第二講
原始檔 include libhelloslam.h 這是原始檔 使用 libhelloslam.h 中的 printhello 函式 intmain int argc,char ar 庫檔案 這是乙個庫檔案 include using namespace std void printhello 標...