Python-with open() as f的用法/python requests的content和text方法的区别

这段博客介绍了Python的requests库用于爬取图片,并利用文件操作进行保存。文章详细讲解了不同文件模式的用途,如读写、追加等,并展示了如何处理文件读写中的异常。此外,还列举了file对象的一些常用属性,如read、write、close等。
摘要由CSDN通过智能技术生成

refer
refer

import requests

for i in range(1,8):
    url="https://www.snh48.com/event/zx7_note/images/temp/zx7_t"+str(i)+".jpg"
    path=url.split('/')[-1]#可以在文件夹里面

    try:
        r=requests.get(url)
        with open(path,'wb') as f:#w模式,本地根本没有,自己创建,b二进制
            f.write(r.content)#r.content----页面二进制格式内容
            f.close()
            print("文件保存成功")
    except:
        print("爬取失败")


常见的读写操作:

with open(r'filename.txt') as f:
   data_user=pd.read_csv(f)  #文件的读操作

with open('data.txt', 'w') as f:
   f.write('hello world')  #文件的写操作
   

相关参数:

r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式
rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

file对象的属性:

file.read([size]) 将文件数据作为字符串返回,可选参数size控制读取的字节数
file.readlines([size]) 返回文件中行内容的列表,size参数可选
file.write(str) 将字符串写入文件
file.writelines(strings) 将字符串序列写入文件
file.close() 关闭文件
file.closed 表示文件已经被关闭,否则为False
file.mode Access文件打开时使用的访问模式
file.encoding 文件所使用的编码
file.name 文件名
file.newlines 未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表
file.softspace 为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用

你可以使用Python中的requests和BeautifulSoup库来实现爬取DXY-COVID-19-Data项目的代码。下面是一个简单的示例代码,可以爬取指定GitHub项目的代码: ```python import requests from bs4 import BeautifulSoup # 设置请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # GitHub release页面地址 url = 'https://github.com/BlankerL/DXY-COVID-19-Data/releases' # 发送请求 response = requests.get(url, headers=headers) # 解析HTML页面 soup = BeautifulSoup(response.content, 'html.parser') # 找到最新的release版本 release = soup.find('div', {'class': 'release-entry'}).find('a', {'class': 'Link--primary'}).get('href') # 找到最新release版本的下载链接 download_link = 'https://github.com' + release + '/download/DXY-COVID-19-Data-' + release.split('/')[-1] + '.zip' # 发送下载链接的请求 code_response = requests.get(download_link, headers=headers) # 将下载的zip文件保存到本地 with open('DXY-COVID-19-Data.zip', 'wb') as f: f.write(code_response.content) print('下载完成!') ``` 在示例代码中,我们首先设置了请求头,然后发送了一个GET请求获取DXY-COVID-19-Data项目的release页面。接着,使用BeautifulSoup库解析HTML页面,找到最新的release版本和其下载链接。最后,发送下载链接的请求,将下载的zip文件保存到本地。请注意,这里只是一个简单的示例代码,实际使用时,还需要进行一些异常处理和反爬虫处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值