使用Python批量爬取下载FB用户头像,欢迎访问😂

本篇文章,如果有不懂,欢迎留言~click here!

Python爬取源码

本文介绍的爬取方法是基于已经有一些用户的sns_id了,然后通过头像链接进行头像下载。

以下是一些用户的sns_id和用户名

1
2
3
4
5
6
7
8
9
10
11
10157645719968407,Samer Khalil Zeidan
2332954523430968,Ly Chanheng
296879167966753,Larbas Ramy
2207530449281477,Ryan Sparks
125162838732018,Louis Harrison
598577013979694,Noja
1035700643475774,Mannie Smith
1375390332610824,RaiiMz
187925459051038,Kerstin Mrowka
955693851449409,Dany Trentini
801025260289121,Caleb M Fiene

头像下载链接是一个固定格式,https://graph.facebook.com/{sns_id}/picture?type=large ,将sns_id填到链接中即可。那么接下来,只需要批量下载即可,这里使用的是urlretrieve下载。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os
from urllib.request import urlretrieve

os.makedirs('./image/', exist_ok=True)

def urllib_download(sns_id, user_name):
try:
urlretrieve("https://graph.facebook.com/{}/picture?type=large".format(sns_id), './image/{}.png'.format(user_name))
except BaseException:
print(sns_id,user_name)

# 打开文件

# 这里是sns_user的一个CSV文件
fo = open("/Users/teitomonari/Desktop/sns_user.csv", "r")

print("文件名为: ", fo.name)
for line in fo.readlines(): #依次读取每行
line = line.strip() #去掉每行头尾空白
infos = line.split(',',1)
print(infos[0],infos[1])

urllib_download(infos[0],infos[1])



# 关闭文件
fo.close()

FB用户文件下载链接
https://github.com/JingFengJi/JingFengJi.github.io/blob/master/sns_user.csv

以上知识分享,如有错误,欢迎指出,共同学习,共同进步。如果有不懂,欢迎留言评论!