爬虫(模仿博客上的内容:换一个网站进行操作)
爬取网站上的图片
1.搞清思路
想要下载图片就要搞清图片的代码在哪里
想要批量下载就要搞清这些图片的代码规律
下面图片里有我的思路
下面是我写的代码 和解释 =前面的是自己命名的,不知道他会出来什么的时候可以print()打印一下名字 看结果是什么
这是效果图 我写的时间 2019/11/03 复制下 改一下保存那个位置应该可以用
2
在这里插入代码片
#导入框架 #号是用来注释的#后面的没有任何额效果
import re
import requests
#确定url
url='https://www.doutula.com/article/list/?page=%d'#这是网页的网址 %d d是占数字时 后面用%+内容可以换掉里面的内容
for i in range(1,4):#用for循环列出1-4我想下载4个网站上的图片 #for循环一次下面的循环一边
temp=url%i#获取源码 #这时候就用%i {i就是1-3},替换掉url中的%d
reponse=requests.get(temp).text#这时候我们用requests 请求库 用get 的方式请求网站获取源码 用.text把获取源码并转化为文本
#正则删选
mig_url=re.findall(r'(data-original)="(.*?)"',reponse) #正则表达式 来得到我们想要的图片网址#我不太会正则只会个.*匹配全部的
for mig_urls in mig_url:#用for循环把 删选的源码 图片列出来
mig_urls=mig_urls[-1]#因为不太会正则所以删选的数据又多出来的部分 我只需要最后面的图片源码所以用[-1]
mig_name=mig_urls.split('/')[-1] #提取图片的名字。。。
mig_urls=requests.get(mig_urls).content#把提取出的图片源码 用requests.get的方式请求,.content转为二进制
#保存下载的东西
with open('./c/%s'%mig_name,'wb') as ll:# ()里面的内容 保存的位置 ./是当前文件夹 %s s占位字符串 ,wb是写入权限
ll.write(mig_urls)#(ll)这个是随意写的和上面写的一至即可 文件写入 下载的二进制()里面输入的是上面求的