要求
本例主要希望读者联系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)