web - 为什么用python爬虫根据url下载文件不需要创建session?

 reisen_辉 发布于 2022-11-01 10:59

写了一个python爬虫来批量下载文件,但是有些疑惑。
我对session的理解不是很深,但是为什么我下载文件时不需要创建一个session呢?
我用的requests,在我抓取页面内容的时候需要创建session

session = requests.session()
html_doc = session.get(url).content

但是直接运行

url = 'FILE ADDR'
r = requests.get(url)
with open('1.pdf', 'wb') as f:
    f.write(r.content)

就可以下载文件到本地,为什么?

2 个回答
  • session也就是会话,一般是用来确认用户身份或者记录用户状态的。

    如果下载这个文件本身就不需要确认用户的身份,也就是说不需要登录就可以下载,那就没必要使用session。

    2022-11-02 04:32 回答
  • 虽然楼上已经采纳了, 但还是有必要说明一下.

    其实 requests.get 方法也创建了 session 的.

    楼主可以翻一下 requests 的源码, 可以找到下面这样的代码的

    def request(method, url, **kwargs):
        session = session.Session()
        return session.request(method=method, url=url, **kargs)
        
    def get(url, **kargs):
        kwargs.setdefault('allow_redirets', True)
        return request('get', url, **kwargs)
    2022-11-02 04:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有