-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoutput.py
68 lines (61 loc) · 2.06 KB
/
output.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
import sqlite3
import requests
conn = sqlite3.connect('company_data.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS enriched_company_data (
company_id INTEGER PRIMARY KEY,
company_name TEXT,
website_url TEXT,
universal_name TEXT,
description TEXT,
follower_count INTEGER
)
''')
cursor.execute('SELECT company_id, company_linkedin_url FROM company_urls')
companies = cursor.fetchall()
urls = [company[1] for company in companies]
api_url = "https://linkedin-bulk-data-scraper.p.rapidapi.com/companies"
headers = {
"X-RapidAPI-Key": "2cd22ddfeamsh764d78e3612803dp170054jsn79c12f25646b",
"X-RapidAPI-Host": "linkedin-bulk-data-scraper.p.rapidapi.com",
"Content-Type": "application/json"
}
payload = {"links": urls}
response = requests.post(api_url, headers=headers, json=payload)
response = response.json()
response = response.get('data')
for item in response:
error = item.get('error')
if not error:
item = item.get('data')
company_id = item.get('companyId')
company_name = item.get('companyName')
website_url = item.get('websiteUrl')
universal_name = item.get('universalName')
description = item.get('description')
follower_count = item.get('followerCount')
data = {
'company_id': company_id,
'company_name': company_name,
'website_url': website_url,
'universal_name': universal_name,
'description': description,
'follower_count': follower_count
}
sql = '''
INSERT INTO enriched_company_data (company_id, company_name, website_url, universal_name, description, follower_count)
VALUES (?, ?, ?, ?, ?, ?)
'''
values = (
data['company_id'],
data['company_name'],
data['website_url'],
data['universal_name'],
data['description'],
data['follower_count']
)
cursor.execute(sql, values)
conn.commit()
cursor.close()
conn.close()