/
linkedinDemo.py
146 lines (116 loc) · 4.92 KB
/
linkedinDemo.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
import oauth2 as oauth
import httplib2
import time, os, simplejson
import urllib
import urllib2
import csv
import json
consumer_key = ''
consumer_secret = ''
user_token = ''
user_secret = ''
consumer = oauth.Consumer(consumer_key, consumer_secret)
access_token = oauth.Token(
key=user_token,
secret=user_secret)
client = oauth.Client(consumer, access_token)
f = open('linkedin1.csv','r')
g = open('LINKEDIN-FOUNDERS-1.csv','a+b')
cot = csv.writer(g)
line = f.readline()
count = 0
cot.writerows([['ID','CompanyName','FirstName','LastName','Headline','Industry','Location','Country','PositionsTotal','Position1Title','Position1IsCurrent','Position1CompanyName','Position1CompanyIndustry','Position1CompanyType','Position1StartMonth','Position1StartYear','Position1EndMonth','Position1EndYear','Position2Title','Position2IsCurrent','Position2CompanyName','Position2CompanyIndustry','Position2CompanyType','Position2StartMonth','Position2StartYear','Position2EndMonth','Position2EndYear','Position3Title','Position3IsCurrent','Position3CompanyName','Position3CompanyIndustry','Position3CompanyType','Position3StartMonth','Position3StartYear','Position3EndMonth','Position3EndYear','Position4Title','Position4IsCurrent','Position4CompanyName','Position4CompanyIndustry','Position4CompanyType','Position4StartMonth','Position4StartYear','Position4EndMonth','Position4EndYear','Position5Title','Position5IsCurrent','Position5CompanyName','Position5CompanyIndustry','Position5CompanyType','Position5StartMonth','Position5StartYear','Position5EndMonth','Position5EndYear','Position6Title','Position6IsCurrent','Position6CompanyName','Position6CompanyIndustry','Position6CompanyType','Position6StartMonth','Position6StartYear','Position6EndMonth','Position6EndYear','PublicURL']])
while line:
line=line.strip(' \r\n\t')
linearray=line.split(',')
uid=linearray[0]
cname=linearray[1]
url=linearray[2]
urlarray=url.split('/')
resp,content = client.request("http://api.linkedin.com/v1/people/url="+str(urllib.quote_plus(url))+":(first-name,last-name,headline,industry,location,positions,public-profile-url)?format=json", "GET", "")
#print content
json_data = json.loads(content)
row=[]
row.append(str(uid))
row.append(str(cname))
try:
row.append(str(json_data['firstName']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['lastName']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['headline']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['industry']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['location']['name']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['location']['country']['code']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['positions']['_total']))
except:
row.append(str('NA'))
i=0
for i in range(0, 6):
try:
row.append(str(json_data['positions']['values'][i]['title']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['positions']['values'][i]['isCurrent']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['positions']['values'][i]['company']['name']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['positions']['values'][i]['company']['industry']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['positions']['values'][i]['company']['type']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['positions']['values'][i]['startDate']['month']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['positions']['values'][i]['startDate']['year']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['positions']['values'][i]['endDate']['month']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['positions']['values'][i]['endDate']['year']))
except:
row.append(str('NA'))
try:
row.append(str(json_data['publicProfileUrl']))
except:
row.append(str('NA'))
count+=1
print (" ID: " +str(uid))
print (" Name: " +str(cname))
print (" URL: " +str(url))
print ("------------------------------------------------")
print (" COUNT >> " +str(count))
print ("------------------------------------------------")
cot.writerow(row)
line = f.readline()
f.close()
g.close()