長期學習打卡之爬蟲

2021-10-05 15:00:18 字數 2248 閱讀 1295

初學爬蟲,將一些基本的爬蟲方法記錄在這裡供自己複習,日後會陸續更新。

一些基礎知識:

狀態碼:例如200 400 403 404

urlib庫裡面的request

a.獲取網頁的**。 請求方式有get和post兩種。urlopen方法可以獲取網頁的**

from urllib import request

x1=request.urlopen(

'',data=

none

)x1.read(

)##列印全部 read(size)

x1.readline(

)##讀取1行

print

(x1.readlines())

##讀取所有行並以列表形式儲存

b.儲存網頁**或檔案至本地

urlretrieve()函式裡第乙個引數是url,第二個引數則是儲存至本地的路徑。

)##將網上檔案儲存至本地url庫裡面的parse

a.在爬蟲的過程種經常會遇到編碼方面的問題,而parse裡面提供了編碼解碼的功能。

from urllib import parse

data=

p1=parse.urlencode(data)

##對data進行編碼

p2=parse.parse_qs(p1)

##解碼

print

(p1)

print

(p2)

輸出:

name=

%e5%bc%a0%e4%b8%

89&age=

10&st=asdf

b.

urlparse函式可以urlparse函式和urlsplit函式對獲取的url進行分割。

兩個函式用法十分相似。區別在於urlparse返回的數值中有"params"而urlsplit則不返回。

x=parse.urlparse(

'')##對url各個組成成分的分割

x1=parse.urlsplit(

'')print

("scheme:"

,x.scheme)

print

(x1)

輸出:

))proxyhandler 使用**ip

原理:先向**ip伺服器傳送請求,**ip再向url傳送請求,成功後返回給**ip然後再返回給本地。

步驟:先傳入乙個**,**是字典的形式,key是http或https,value是ip:port。然後建立乙個opener,這樣之後就能使用open函式以**的ip向url傳送請求。

from urllib import request

url=

''##能返回訪問ip的神奇**

handler=request.proxyhandler(

)##傳入字典,key為http或https,value格式:'**ip:port埠'

opener=request.build_opener(handler)

##建立opener

req=request.request(url)

resp=opener.

open

(req)

##用opener傳送乙個請求

print

(resp.read(

))

爬蟲學習 爬蟲之新浪新聞

學習資料參考 python網路爬蟲實戰 源程式如下 import requests import json from bs4 import beautifulsoup import pandas results zturl res requests.get zturl jd json.loads r...

pandas打卡學習之資料重構

有時候,用於處理的資料可能是分塊儲存的,有可能儲存在多個檔案中。這時候,就需要使用連線方法pd.concat 進行連線。concat 方法需要指定軸,預設是y軸連線,如果需要x軸連線,可以指定axis 1。concat使用的是等值連線,鍵預設為第一列,也可以指定。如果兩列表資料沒有共同的列,也會成功...

爬蟲 Python爬蟲學習筆記之Urllib庫

1.urllib.request開啟和讀取url 2.urllib.error包含urllib.request各種錯誤的模組 3.urllib.parse解析url 4.urllib.robotparse解析 robots.txt檔案 傳送get請求 引入urlopen庫 用於開啟網頁 from u...