爬蟲與Python:(三)基本庫的使用——擴充套件:requests爬取陽光電影網原始碼
阿新 • • 發佈:2021-10-19
要求
本例主要希望讀者聯絡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)