‘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,'下载完成!!!!')
-
-