‘r’:只读。该文件必须已存在。
‘r+’:可读可写。该文件必须已存在,写为追加在文件内容末尾。
‘rb’:表示以二进制方式读取文件。该文件必须已存在。
‘w’:只写。打开即默认创建一个新文件,如果文件已存在,则覆盖写(即文件内原始数据会被新写入的数据清空覆盖)。
‘w+’:写读。打开创建新文件并写入数据,如果文件已存在,则覆盖写。
‘wb’:表示以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,则覆盖写。
‘a’:追加写。若打开的是已有文件则直接对已有文件操作,若打开文件不存在则创建新文件,只能执行写(追加在后面),不能读。
‘a+’:追加读写。打开文件方式与写入方式和’a’一样,但是可以读。需注意的是你若刚用‘a+’打开一个文件,一般不能直接读取,因为此时光标已经是文件末尾,除非你把光标移动到初始位置或任意非末尾的位置。(可使用seek() 方法解决这个问题,详细请见下文Model 8 示例)
1.聚焦爬虫:爬取页面中指定的页面内容。
2.数据解析分类
3.数据解析原理概述·
#解析图片
import requests
if __name__=="__main__":
#如何爬取图片数据
url='https://pic.qiushibaike.com/system/pictures/12489/124895193/medium/GSSNE5EFGE2RIU3S.jpg'
#content返回的是二进制形式的图片数据
#text(字符串) content(二进制) json()(对象
img_data=requests.get(url=url).content #返回的是图片的二进制数据
with open('qiutu.jpg','wb') as fp:
fp.write(img_data)
import requests
import re
import os
if __name__=="__main__":
#创建一个文件夹,保存所有的图片
if not os.path.exists('qiutulib'):
os.mkdir('qiutulib')
url='https://www.qiushibaike.com/imgrank/'
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
#使用通用爬虫对url对应的一整张页面进行爬虫
page=requests.get(url=url,headers=headers).text
#使用聚焦爬虫将页面中所有的图片进行解析/提取
ex='<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
# ex=re.compile(r'src="(.*?)\.jpg')
img_src_list=re.findall(ex,page,re.S) #返回的是列表
#print(img_src_list)
for src in img_src_list:
#拼接出一个完整的图片url
src='https:'+src
#请求到图片二进制数据
img_data=requests.get(url=src,headers=headers).content
#生成图片名称
img_name=src.split('/')[-1]
#图片存储的路径
imgPath='qiutulib/'+img_name
with open(imgPath,'wb') as fp:
fp.write(img_data)
print(img_name,'下载完成!!!!')
通用url设置
#设置一个通用的url模板
url = 'https://www.qiushibaike.com/imgrank/page/%d/' #把页数改为%d
for pagea in range(1,3):
new_url=format(url%pagea)
#使用通用爬虫对url对应的一整张页面进行爬虫
page=requests.get(url=new_url,headers=headers).text
import requests
import re
import os
if __name__=="__main__":
#创建一个文件夹,保存所有的图片
if not os.path.exists('qiutulib'):
os.mkdir('qiutulib')
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
#设置一个通用的url模板
url = 'https://www.qiushibaike.com/imgrank/page/%d/' #把页数改为%d
for pagea in range(1,3):
new_url=format(url%pagea)
#使用通用爬虫对url对应的一整张页面进行爬虫
page=requests.get(url=new_url,headers=headers).text
#使用聚焦爬虫将页面中所有的图片进行解析/提取
ex='<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
# ex=re.compile(r'src="(.*?)\.jpg')
img_src_list=re.findall(ex,page,re.S) #返回的是列表
#print(img_src_list)
for src in img_src_list:
#拼接出一个完整的图片url
src='https:'+src
#请求到图片二进制数据
img_data=requests.get(url=src,headers=headers).content
#生成图片名称
img_name=src.split('/')[-1]
#图片存储的路径
imgPath='qiutulib/'+img_name
with open(imgPath,'wb') as fp:
fp.write(img_data)
print(img_name,'下载完成!!!!')