要求
本例主要希望讀者聯系requests的使用,試着用它請求陽光電影網的首頁獲取頁面源碼,並在控制台打印出來,請求地址為:http://www.scyky.com/,需要實現的目標如下:
(1)構造一個訪問陽光電影網的請求(url , headers)。
(2)輸出請求狀態碼。
(3)輸出請求的源碼。
(4)將源碼打印到控制台。
實現思路
- 輸入網址http://www.scyky.com/,進入陽光電影網首頁。
- 尋找header信息。按【F12】鍵進入調試模式,切換到【Network】選項卡,選擇一個請求的header,並復制相關信息。
- 分析頁面源碼,獲取編碼方式。在網頁中右擊,在彈出的快捷鍵菜單中選擇【查看網頁源碼】選項進入源碼頁面。可以發現,charset是utf-8。
- 依據獲取的信息進行requests編碼。
請求源碼
1 import requests 2 3 url = 'http://www.scyky.com/' 4 # 設置請求頭 5 headers = { 6 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8', 7 'Accept-Encoding':'gzip, deflate', 8 'Accept-Language':'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2', 9 'Cache-Control':'max-age=0', 10 'Connection':'keep-alive', 11 'Cookie':'Hm_lvt_e9ddc99418411f9404610f615b91afa5=1634628491,1634628641; Hm_lpvt_e9ddc99418411f9404610f615b91afa5=1634628657; __gads=ID=9c53e50da4011ca3-2203967fb2cc00d6:T=1634628491:RT=1634628491:S=ALNI_MZHlYFvVNl5KojGNMC7Mucdw5TIrg', 12 'Host':'www.scyky.com', 13 'Upgrade-Insecure-Requests':'1', 14 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0' 15 } 16 # 定義一個request對象 17 req = requests.get(url,headers=headers) 18 # 獲取狀態碼 19 print(req.status_code) 20 # 指定網頁的編碼方式 21 req.encoding = 'utf-8' 22 # 獲取網頁源碼,將req.content返回的文本賦值給html變量,然后打印到控制台 23 html = req.content 24 print(html)