· 7 years ago · Sep 03, 2018, 09:28 PM
1import sqlite3
2from newsapi import *
3
4
5newsapi = NewsApiClient(api_key='b71d9eefeca94a1487e7fc9bf9964af8')
6
7conn = sqlite3.connect("day2.db")
8cursor = conn.cursor()
9cursor.execute("""
10CREATE TABLE IF NOT EXISTS main(
11 ID int(11),
12 Keyword TEXT,
13 Title varchar(255) UNIQUE,
14 Description TEXT,
15 sqltime TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
16);
17""")
18
19resultslist = []
20scorelist = []
21
22index = 0
23limit = 20
24pagenum = 1
25num_pages = 25
26
27keyword = 'Monero'
28
29for pagenum in range(2, num_pages + 1):
30 print('page: ' + str(pagenum))
31 data = newsapi.get_everything( sources='crypto-coin-news',
32 language='en',
33 sort_by='publishedAt',
34 page=pagenum,
35 q=keyword
36 )
37 load = data['articles']
38
39
40 for index, post in zip(range(limit), load):
41 title = post['title']
42 description = post['description']
43 if len(cursor.execute("SELECT Title FROM main WHERE Title = ?", (title,)).fetchall()) > 0:
44 pass
45 else:
46 if keyword in title:
47 nline = keyword, title, description
48 cursor.execute('INSERT INTO main (Keyword, Title, Description) VALUES (?, ?, ?)', (nline))
49 conn.commit()
50 print('db +')
51 else:
52 pass
53
54for row in cursor.execute("SELECT Title, Description, sqltime FROM main ORDER BY sqltime DESC"):
55 resultslist.append(row)