Python新手入门:用requests.get()打开url

1.安装requests模块:参考http://t.csdn.cn/YsUGE

2.代码(请以下内容保存在text中,并将后缀改成'.py',用Python自带的IDLE打开):

>>> import requests
>>> url='https://www.runoob.com/python3/python3-tutorial.html'
>>> headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}
>>> res = requests.get(url, headers= headers )
>>> res.text

>>> type(res)
<class 'requests.models.Response'>
>>> type(res.text)
<class 'str'>
>>> type(res.content)
<class 'bytes'>
>>> res.status_code
200
>>> res.encoding
'UTF-8'
>>> 


说明1:这边主要涉及的是requests模里面的requests.get(url,headers)

requests.get()有很多参数,我们只需要写入常用的url,headers两个参数即可,其它参数有默认值,不用输入.

url是网址,是字符串,所以url=' 网址'

headers是一个字典,可以输入很多内容,这边我们只需要写入key名称为 'User-Agent'以及其对应值就可以了,目的是在于用Python访问url时,模拟电脑浏览器,以降低ID被禁的概率。


说明2:这边的res是获取requests.get(url,headers)的响应内容

>>> type(res)
<class 'requests.models.Response'>

说明 res 是 requests.models模块里面名为Response的实体化,通过 res = requests.get(url, headers= headers )实现,这边等式的左边在编写时res可换换成任何变量名称,调用时根据实体化的变量名称调用就是,通用语法中是写 Response ,所以在语法中常可以看到Response.status_code等。

所以“res.名称  ”可以调取很多返回值

res.status_code 是访问服务器的代码,200表示成功链接

res.encoding 表示编码格式,中文的编码格式UTF16、UTF8比较通用,但为兼容GB2312、GBK,仍然有不少系统会用GB18030.编码格式在查看网页源代码头部时就可以看到,但如果我们用print(res.text)可以会出现乱码,所以我们可以给它赋值。

一般来说赋值是res.encoding=‘utf-8’

res.text 是网页的字符串

res.content是网页的字节数据,也就是图片,视频以及数据流等非文本内容


3.访问具体图片并保存图片

>>> import requests
>>> url='https://www.runoob.com/wp-content/uploads/2016/04/py-dict-3.png'
>>> headers={    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'}
>>> res = requests.get(url, headers= headers )

>>> with open('py-dict-3.png','wb') as f:
                    f.write(res.content)

    
36063


说明:这边的url是一个具体的图片链接,所以res.content接收到的只是一个图片的数据,和再上面一例的res.content不一样。

with open(文件名,读写方式) as 文件句柄:

     句柄.write(要写入的内容)

这边的反回值36063是字节数,存储后的图片名为py-dict-3.png,大小是36Kb,因为保存的是图片,所以是b,而w表未打开文件,从头开始写。 wb表示,如果之前有存在名字为py-dict-3.png的图片,那么原图会被清除覆盖,如果没有就创建名为py-dict-3.png的空白文件写入。这边的 f 是方句柄,可以换成其它变量名称。

至于res.text因为需要解析,所以后面需要学习Beautifulsoup4 或者 lmxl模块里面的函数来解析

from bs4 import BeautifulSoup 

from lxml import etree

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Python中,当使用requests库的get方法发送一个HTTP GET请求时,可以通过response.encoding属性来设置响应的编码格式。通过设置response.encoding = 'utf-8',可以将响应内容以utf-8编码解析,避免中文乱码问题的发生。 同样,也可以使用response.content.decode("utf-8")的方式将响应内容解码为utf-8格式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Pythonrequests模板的get函数,xx.encoding是什么意思?](https://blog.csdn.net/weixin_52050936/article/details/113613047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python requests库的get()方法使用](https://blog.csdn.net/qq_44728587/article/details/123090304)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [python requests.get带header](https://download.csdn.net/download/weixin_38502239/13739734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值