爬蟲界的小可愛


爬蟲的分類:
通用爬蟲(用于瀏覽器) ,聚焦爬蟲(用于中小企業(yè))

爬蟲的流程
# ①確定目標(biāo)的url
# ②發(fā)起請求  接受響應(yīng)
# ③根據(jù)字段 提取數(shù)據(jù)
# ④目標(biāo)數(shù)據(jù)做持久化的存儲
# import urllib.request
#import ssl
# urlopen(url,目標(biāo)的url
# data = None,get請求的默認(rèn)為None,POST的需要設(shè)置參數(shù)
# timeout = socket._GLOBAL_DEFAULT_TIMEOUT 響應(yīng)的時間
# cafile = None 設(shè)置證件文件的地方
# capath = None 設(shè)置證書路徑的地方

# context = None 設(shè)置參數(shù),那就忽略ssl
# url 是http 的請求不需要設(shè)置 如果是 https需要設(shè)置

#如果ssl 錯誤的話 導(dǎo)入import ssl 證書處理

#context =ssl._create_unverrified_context()#不去認(rèn)證

# url = 'https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=%E6%95%B0%E6%8D%AE%E5%A0%82'
# respone = urllib.request.urlopen(url)
# print(respone.read())
# print(respone.read().decode('utf-8'))
#decode :轉(zhuǎn)碼 講其他類型的編碼,轉(zhuǎn)換成unicode編碼
#encode :編碼,是將unicode類型編碼,轉(zhuǎn)為其他編碼
#響應(yīng)狀態(tài)
# print(respone.status)
#print(respone.getheaders())
#獲取某一個響應(yīng)頭的信息
# print(respone.getheader('Content-Type'))
# url 帶有中文的解決方法
#import urllib.parse
#q = '中文'
#q = urllib.parse.urlencode(query = 字典)



opener的用法:
用于添加ip代理器以及cookie
#opener與urlopen 相同 都是發(fā)起請求, opener中可以加入處理器
# urlopen不可以,urlopen只寫好的模板,而opener需要重新定義


# import urllib.request
# import ssl
# url = 'https://www.baidu.com'
# try:
#     a = urllib.request.Request(url)
#     context = ssl._create_unverified_context()
# except error.HTTPError as err:
# print('HTTPError')

異常:
#URLError url錯誤,要么沒連不上服務(wù)器 父類,意思是對方服務(wù)器得不到響應(yīng),就是個錯誤的url
#HTTPError 對方服務(wù)器能響應(yīng)你的請求 子類  路徑后面的沒有響應(yīng)到
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容