Python爬蟲教程-15-爬蟲讀取cookie(人人網)和SSL(12306官網)
上一篇寫道關於儲存cookie檔案,本篇介紹怎樣讀取cookie檔案
cookie的讀取
# 讀取cookie檔案
from urllib import request,parse
from http import cookiejar
# 建立cookiejar的例項
cookie = cookiejar.MozillaCookieJar()
cookie.load('py15renrenCookie.txt', ignore_discard=True, ignore_expires=True)
# 常見cookie的管理器
cookie_handler = request.HTTPCookieProcessor(cookie)
# 建立http請求的管理器
http_handler = request.HTTPHandler()
# 生成https管理器
https_handler = request.HTTPSHandler()
# 建立請求管理器
opener = request.build_opener(http_handler,https_handler,cookie_handler)
def getHomePage():
# 地址是用在瀏覽器登入後的個人資訊頁地址
url = "http://www.renren.com/967487029/profile"
# 如果已經執行login函式,則opener自動已經包含cookie
rsp = opener.open(url)
html = rsp.read().decode()
with open("py13rsp.html", "w", encoding="utf-8")as f:
# 將爬取的頁面
print(html)
f.write(html)
if __name__ == '__main__':
getHomePage()
執行結果
同樣是當返回頁面有個人資訊,才算成功!
SSL
- ssl證照就是指遵守ssl安全套階層協議的伺服器數字證照(SercureSocketLayer)
- 美國網景公司開發
- 使用ssl,加密資訊
- 俗稱https協議
- CA(CertificateAuthority)是數字證照任重中心,是發放,管理,廢除數字證照的收信人的第三方機構
- 遇到不信任的SSL證照,需要單獨處理
- 案例v17ssl檔案:
'''
使用ssl
1.直接訪問https://www.12306.cn/mormhweb/會無法訪問,報錯如下
----------------------------------
您的連線不是私密連線
攻擊者可能會試圖從 www.12306.cn 竊取您的資訊
(例如:密碼、通訊內容或信用卡資訊)
-----------------------------------
2.不使用https使用http解可以訪問
3.因為12306的證照是自己做的,而不是第三方機構
4.所以說http不安全會洩露個人資訊
'''
from urllib import request
import ssl
# 利用非認證上下文環境替換認證的上下文環境
ssl._create_default_https_context = ssl._create_unverified_context
url = "https://www.12306.cn/mormhweb/"
rsp = request.urlopen(url)
html = rsp.read().decode()
print(html)
執行結果
不是報錯頁面,表示使用成功
更多文章連結:Python 爬蟲隨筆
- 本筆記不允許任何個人和組織轉載