打开unsplash分析网页
很容易分析这个网页时动态网页,而不是静态网页?为什么呢,因为这个网页所有的图片不是一下子出来,他是一组一组的弹出来的,属于典型的动态网页,此外你也可以找找有没有你所要的图片的连接。你会发现根本找不到连接,那么怎么搞,莫慌!!!山人自有招。O(∩_∩)O哈哈~
二、查找图片的链接
按一下F12键,然后点Network,出来Network之后,XHR键(这个键属于Network的子文件),你会看到一下界面,
然后重点来了,记一下要考的 ,向下滑动页面,你就会发现页面多了点东西,多啥了你自己瞅啊,瞅我干啥,瞅自己的网页。
你随便一个,你会发现一个列表,仔细寻找列表里面的东西,发没发现网址,如果没发现,那么只能说你只适合插秧,对了别踩苗。
你在仔细找找,看没看见raw"https://images.unsplash.com/photo--23bf8ef34f10?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9",这个东西你打开看看,呀,amazing。
图片大概知道在哪了, 那么开始盘它了。
三、一组图片下载
怎么下载一组图片呢? 还是先回到咱们一开始找到连接的位置
右键photo…会出现一个cut键,cut键,然后第一个。
import requests import os from bs4 import BeautifulSoup import re import bs4 import json url = "https://unsplash.com/napi/photos?page=5&per_page=12" def getHTML(url): r = requests.get(url) jd = json.loads(r.text)//强制转化为字典格式 list = [] for i in jd: t = i['urls']["raw"] list.append(t) root = "D://Pic//" count = 1 for i in list: print(i) path = root + str(count) + '.jpg' count = count + 1 if not os.path.exists(root): os.mkdir(root) if not os.path.exists(path): r = requests.get(i) with open(path, 'wb') as f: f.write(r.content) getHTML(url)
四、多组数据爬取
再复制一组数据,对比两组数据的区别
发现基本上一样就是page=的数值一样,然后通过这个特点咱们爬取多组数据,爬取3组吧,因为这个网站比较慢,我也不知道因为什么。
import requests import os from bs4 import BeautifulSoup import re import bs4 import json url = "https://unsplash.com/napi/photos?page=" base = "&per_page=12" def getHTML(url): r = requests.get(url) jd = json.loads(r.text) list = [] for i in jd: t = i['urls']["raw"] list.append(t) root = "D://Pic//" global count for i in list: print(i) path = root + str(count) + '.jpg' count = count + 1 if not os.path.exists(root): os.mkdir(root) if not os.path.exists(path): r = requests.get(i) with open(path, 'wb') as f: f.write(r.content) count = 0 for i in range(1,3): u = url + str(i)+base print(u) getHTML(u)
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/77818.html