初學爬蟲,將一些基本的爬蟲方法記錄在這裡供自己複習,日後會陸續更新。
一些基礎知識:
狀態碼:例如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...