xxxxxxxxxx
96
//full API link: https://developer.nytimes.com/docs/articlesearch-product/1/overview
//pull text: https://www.youtube.com/watch?v=IMne3LY4bks&ab_channel=TheCodingTrain
//search bar: https://www.youtube.com/watch?v=4UoUqnjUC2c&ab_channel=TheCodingTrain
// GOAL
// input keywords
// input years (how to extract date from url?)
// output word frequency in different years
let canvas;
let api = 'https://api.nytimes.com/svc/search/v2/articlesearch.json?q=';
let apiKey = '&api-key=R7KmJXf8x1LJ01yPKs95LAGPV6Lkyc6L';
// let query = 'health';
let button;
let input;
let articles;
let hits;
function preload(){
nytImg = loadImage('nytb.png');
}
function setup() {
createCanvas(600, 180);
// canvas=createCanvas(600, 180);
// canvas.position(0,0);
// background(100);
input = select('#finding');
input.position(290,140);
button = select('#search');
button.mousePressed(searchKeyword);
button.position(450,143);
// h1 = createElement('hits','h1');
// fill('#000000');
// h1.position(80,150);
}
function searchKeyword() {
let headline = document.getElementsByTagName("h2");
let abstract = document.getElementsByTagName("h4");
let link = document.getElementsByTagName("h6");
// let hits = document.getElementsByTagName("h1");
// erase old search content with empty array
for(let i = 0; i < headline.length; i++){
headline[i].innerHTML = "";
abstract[i].innerHTML = "";
link[i].innerHTML = "";
// hits[i].innerHTML = "";
}
// hits.innerHTML = "";
let url = api+input.value()+apiKey;
loadJSON(url, gotData);
}
function gotData(data) {
createElement('h1',data.response.meta.hits);
var articles = data.response.docs;
let hitCount = createElement('h1', data.response.meta.hits);
for (var i = 0; i < articles.length; i++){
createElement('h2',articles[i].headline.main);
createElement('h4',articles[i].abstract);
createElement('h6',articles[i].web_url);
hitCount.position(width / 4-50, height / 4+75);
}
// createElement('h1',data.response.facets.source.terms[0].count);
}
function draw(){
image(nytImg,0,-80,600,300);
push();
fill('#ff0066');
rect(90,110,110,45,10);
pop();
push();
fill('#ff0066');
textSize(14);
text('hits',205,150);
pop();
}