人海茫茫
相识真好

爬了下Unsplash上的高清壁纸,总有一款适合你

Unsplash是个高清摄影图片的网站,里面的照片非常精美,分辨率也很高,最重要的是,所有的照片都没有版权,无须向原作者申请授权,即可任意使用。

最近闲暇的时候写了个爬虫爬了下Unsplash上的那些高赞的壁纸。爬虫原理非常简单,就是爬取所有的壁纸,然后筛选那些赞数最高的图片。

代码实现

第一步我们爬取Unsplash所有的壁纸图片信息,并存入MongoDB,代码如下

def get_image_by_page(page_no):    url = "https://unsplash.com/napi/collections/1065976/photos?page={}&per_page=10&order_by=latest&share_key=a4a197fc196734b74c9d87e48cc86838".format(page_no)    r = requests.get(url, verify=False)    data = r.json()    return datadef get_images():    page_no = 1    client = pymongo.MongoClient()    db = client["unsplash"]    while True:        result = get_image_by_page(page_no)        if len(result) == 0:            break        db.wallpaper.insert_many(result)        print(page_no)        page_no += 1        time.sleep(10)

爬下来的数据里面包含了几个重要的字段。

我们最关心的就是likes这个字段,这个里面存了图片的赞数,后续我们筛选高赞图片的时候会用到。

还有两个字段分别是width和height,这是图片的宽度和高度,因为我们这里关注的是桌面壁纸,所以只关心宽度大于高度的那些壁纸。

爬完图片信息后,接下来我们从数据库筛选高赞图片,代码如下

def get_top_liked_images():    client = pymongo.MongoClient()    db = client["unsplash"]    cursor = db.wallpaper.aggregate([        {"$match": {"likes": {"$gte": 1000}}}    ])    path = os.path.dirname(__file__)    path = os.path.join(path, "wallpaper")    for item in cursor:        url = item["urls"]["raw"]        width = item["width"]        height = item["height"]        if width <= height:            continue        r = requests.get(url, verify=False)        filename = "{}.jpg".format(int(time.time()))        filepath = os.path.join(path, filename)        with open(filepath, "wb") as f:            f.write(r.content)        print(filepath)        time.sleep(10)

这里我们会根据图片信息里的URL去下载图片。需要注意的是,如果过于频繁的爬取Unsplash,会导致爬虫被封,所以这里每次下载完都会睡个10秒钟。

高赞壁纸

我们从爬取的结果里面精选了80张高赞壁纸,没有加任何水印,放在这里。不过微信对上传的图片作了压缩,所以上传后的图片不是原图,分辨率有些损失。需要原图的话在文末有获取方式。

下面是80张无水印高赞壁纸,大家看看最喜欢哪一张呢,欢迎在留言里告诉我~

1

爬了下Unsplash上的高清壁纸,总有一款适合你

2

爬了下Unsplash上的高清壁纸,总有一款适合你

3

爬了下Unsplash上的高清壁纸,总有一款适合你

4

爬了下Unsplash上的高清壁纸,总有一款适合你

5

爬了下Unsplash上的高清壁纸,总有一款适合你

6

爬了下Unsplash上的高清壁纸,总有一款适合你

7

爬了下Unsplash上的高清壁纸,总有一款适合你

8

爬了下Unsplash上的高清壁纸,总有一款适合你

9

爬了下Unsplash上的高清壁纸,总有一款适合你

10

爬了下Unsplash上的高清壁纸,总有一款适合你

11

爬了下Unsplash上的高清壁纸,总有一款适合你

12

爬了下Unsplash上的高清壁纸,总有一款适合你

13

爬了下Unsplash上的高清壁纸,总有一款适合你

14

爬了下Unsplash上的高清壁纸,总有一款适合你

15

爬了下Unsplash上的高清壁纸,总有一款适合你

16

爬了下Unsplash上的高清壁纸,总有一款适合你

17

爬了下Unsplash上的高清壁纸,总有一款适合你

18

爬了下Unsplash上的高清壁纸,总有一款适合你

19

爬了下Unsplash上的高清壁纸,总有一款适合你

20

爬了下Unsplash上的高清壁纸,总有一款适合你

21

爬了下Unsplash上的高清壁纸,总有一款适合你

22

爬了下Unsplash上的高清壁纸,总有一款适合你

23

爬了下Unsplash上的高清壁纸,总有一款适合你

24

爬了下Unsplash上的高清壁纸,总有一款适合你

25

爬了下Unsplash上的高清壁纸,总有一款适合你

26

爬了下Unsplash上的高清壁纸,总有一款适合你

27

爬了下Unsplash上的高清壁纸,总有一款适合你

28

爬了下Unsplash上的高清壁纸,总有一款适合你

29

爬了下Unsplash上的高清壁纸,总有一款适合你

30

爬了下Unsplash上的高清壁纸,总有一款适合你

31

爬了下Unsplash上的高清壁纸,总有一款适合你

32

爬了下Unsplash上的高清壁纸,总有一款适合你

33

爬了下Unsplash上的高清壁纸,总有一款适合你

34

爬了下Unsplash上的高清壁纸,总有一款适合你

35

爬了下Unsplash上的高清壁纸,总有一款适合你

36

爬了下Unsplash上的高清壁纸,总有一款适合你

37

爬了下Unsplash上的高清壁纸,总有一款适合你

38

爬了下Unsplash上的高清壁纸,总有一款适合你

39

爬了下Unsplash上的高清壁纸,总有一款适合你

40

爬了下Unsplash上的高清壁纸,总有一款适合你

41

爬了下Unsplash上的高清壁纸,总有一款适合你

42

爬了下Unsplash上的高清壁纸,总有一款适合你

43

爬了下Unsplash上的高清壁纸,总有一款适合你

44

爬了下Unsplash上的高清壁纸,总有一款适合你

45

爬了下Unsplash上的高清壁纸,总有一款适合你

46

爬了下Unsplash上的高清壁纸,总有一款适合你

47

爬了下Unsplash上的高清壁纸,总有一款适合你

48

爬了下Unsplash上的高清壁纸,总有一款适合你

49

爬了下Unsplash上的高清壁纸,总有一款适合你

50

爬了下Unsplash上的高清壁纸,总有一款适合你

51

爬了下Unsplash上的高清壁纸,总有一款适合你

52

爬了下Unsplash上的高清壁纸,总有一款适合你

53

爬了下Unsplash上的高清壁纸,总有一款适合你

54

爬了下Unsplash上的高清壁纸,总有一款适合你

55

爬了下Unsplash上的高清壁纸,总有一款适合你

56

爬了下Unsplash上的高清壁纸,总有一款适合你

57

爬了下Unsplash上的高清壁纸,总有一款适合你

58

爬了下Unsplash上的高清壁纸,总有一款适合你

59

爬了下Unsplash上的高清壁纸,总有一款适合你

60

爬了下Unsplash上的高清壁纸,总有一款适合你

61

爬了下Unsplash上的高清壁纸,总有一款适合你

62

爬了下Unsplash上的高清壁纸,总有一款适合你

63

爬了下Unsplash上的高清壁纸,总有一款适合你

64

爬了下Unsplash上的高清壁纸,总有一款适合你

65

爬了下Unsplash上的高清壁纸,总有一款适合你

66

爬了下Unsplash上的高清壁纸,总有一款适合你

67

爬了下Unsplash上的高清壁纸,总有一款适合你

68

爬了下Unsplash上的高清壁纸,总有一款适合你

69

爬了下Unsplash上的高清壁纸,总有一款适合你

70

爬了下Unsplash上的高清壁纸,总有一款适合你

71

爬了下Unsplash上的高清壁纸,总有一款适合你

72

爬了下Unsplash上的高清壁纸,总有一款适合你

73

爬了下Unsplash上的高清壁纸,总有一款适合你

74

爬了下Unsplash上的高清壁纸,总有一款适合你

75

爬了下Unsplash上的高清壁纸,总有一款适合你

76

爬了下Unsplash上的高清壁纸,总有一款适合你

77

爬了下Unsplash上的高清壁纸,总有一款适合你

78

爬了下Unsplash上的高清壁纸,总有一款适合你

79

爬了下Unsplash上的高清壁纸,总有一款适合你

80

爬了下Unsplash上的高清壁纸,总有一款适合你

完整代码已上传github,所有原图已上传百度网盘,可在公众号后台回复unsplash获取。

爬了下Unsplash上的高清壁纸,总有一款适合你

最近读者群二群建立了,欢迎小伙伴们加入。群内已有几位技术大咖加入,后续还会拉更多的大牛进群,欢迎各位学习道路上的小伙伴一起加入进来。


扫下方管理员微信,管理员拉你入群~


爬了下Unsplash上的高清壁纸,总有一款适合你

爬了下Unsplash上的高清壁纸,总有一款适合你

推荐阅读:


◆ ◆ ◆  ◆ 



爬了下Unsplash上的高清壁纸,总有一款适合你

赞(0) 打赏
未经允许不得转载:老康的学习空间 » 爬了下Unsplash上的高清壁纸,总有一款适合你

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏