-
Notifications
You must be signed in to change notification settings - Fork 1
/
fb.py
55 lines (53 loc) · 1.53 KB
/
fb.py
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/python
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import urllib.request
import urllib.parse
import json
from pprint import pprint
import string
from duckduckgo import search
import json
import time
YEAR = 2000
with open('data.json', encoding='cp1252') as fb_list:
fb = json.load(fb_list)
headers = {}
headers['Accept'] = \
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
headers['Accept-Encoding'] = 'gzip, defalte'
headers['Connection'] = 'keep-alive'
headers['User-Agent'] = \
'Mozilla/5.0 (X11; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0'
temp = [];
error = ""
et = [];
count = 0;
for x in range(0, len(fb)):
try:
t = json.loads(fb[x]);
if t['facebook'] != "":
name = t['name']
error = name
with urllib.request.urlopen(t['facebook']) as conn:
rr=conn.read()
soupp = BeautifulSoup(rr,'html.parser')
souppp = soupp.select("._4bl9")
data = {}
data["name"] = name
data["likes"] = souppp[0].text.split(" ")[0];
data["follow"] = souppp[1].text.split(" ")[0];
pprint(data)
count += 1
if count > 4 :
time.sleep(1000)
temp.append(json.dumps(data))
except:
print ('error occured')
err = {}
err["name"] = error;
et.append(json.dumps(err))
with open('fb.json', 'w') as outfile:
json.dump(temp,outfile)
with open('fb-err.json','w') as stderr:
json.dump(stderr)