爬蟲基礎 函式封裝 更新一

2021-08-22 19:41:28 字數 1946 閱讀 6061

# 匯入包,模組

#儲存cookie

#對於有登入是  所將使用者記錄下來  

class session(object):

def __init__(self):

cookie_object = cookiejar.cookiejar()

#handler  對應著乙個操作

#呼叫handler內部的乙個函式,儲存到cookie  object

self.opener = request.build_opener(handler)

# get請求時

def get(self, url, headers=none):

return get(url, headers, self.opener)

#post請求時

def post(self, url, from, headers=none):

return post(url, form, headers, self.opener)

# 定義函式

#get請求的封裝函式

def get(url, headers=none):

# 內層函式urlrequests函式的返回值返回給外層函式get

return urlrequests(url, headers=headers)

#post請求的封裝函式

def post(url, form, headers=none):

return urlrequests(url,form, headers = headers)

def urlrequests(url, form =none, headers=none):

if headers == none:

#定義headers

headers =

#定義變數(容器),預設二進位制寫入

html_bytes = b''

try:

#判斷是post請求還是get請求

if form:

# post  轉換成str

from_str = parse.urlencode( form)

# 轉換成bytes

form_bytes = form_str.encode('utf-8')

# 定義request

req = request.request(url, data=form_bytes, headers=headers)

else:

# get

req = request.request(url, headers=headers)

#新增 urlopen方法

#返回bytes陣列

return html_bytes

if __name__ == '__main__':

##post

# url = ''

# form =

# html_bytes = post(url,form=form)

# print(html_bytes) #返回結果:b',,,,]}

#get

url = ''

html_byte = get(url)

print(html_byte)

基礎爬蟲函式封裝

匯入模組 import json 封裝get 請求 defget url,headers none return urlrequests url,headers headers 封裝post 請求 defpost url,form,headers none return urlrequests ur...

python爬蟲基礎封裝函式

匯入包,模組 儲存cookie 對於有登入是 所將使用者記錄下來 class session object def init self cookie object cookiejar.cookiejar handler 對應著乙個操作 呼叫handler內部的乙個函式,儲存到cookie objec...

封裝函式爬蟲

分析貼吧的url規律。第1頁 pn 0 第2頁 pn 50 第3頁 pn 100 pn是控制頁碼的。著重關注 封裝的思路。from urllib import request,parse import osimport ssl 解決ssl證書問題 處理url,返回request def handle...