mirror of
https://github.com/PucelaBits/websegura.git
synced 2024-07-04 12:05:45 +02:00
feat: improve twitter crawler (#186)
This commit is contained in:
parent
12f4c5a03c
commit
863ad1b13f
|
@ -33,6 +33,10 @@ const filenameToData = (f) => ({
|
|||
"_data/general.json",
|
||||
];
|
||||
|
||||
const twitterSummary = JSON.parse(
|
||||
fs.readFileSync(`_data/twitter/summary.json`, "utf8")
|
||||
);
|
||||
|
||||
const all = files
|
||||
.map(filenameToData)
|
||||
.map(({ file, id }) => ({
|
||||
|
@ -47,6 +51,7 @@ const filenameToData = (f) => ({
|
|||
url: web.url,
|
||||
name: web.name,
|
||||
twitter: web.twitter,
|
||||
twitter_mentions: twitterSummary[web.twitter] || 0,
|
||||
tags: web.tags,
|
||||
}))
|
||||
)
|
||||
|
|
12
.github/workflows/twitter.yml
vendored
12
.github/workflows/twitter.yml
vendored
|
@ -23,6 +23,14 @@ jobs:
|
|||
|
||||
- name: Request Twitter stats
|
||||
env:
|
||||
TWITTER_API_KEY: ${{ secrets.TWITTER_API_KEY }}
|
||||
TWITTER_API_SECRET: ${{ secrets.TWITTER_API_SECRET }}
|
||||
TWITTER_BEARER_TOKEN: ${{ secrets.TWITTER_BEARER_TOKEN }}
|
||||
run: npm run twitter:search
|
||||
|
||||
- name: Update Twitter summary
|
||||
run: npm run twitter:summary
|
||||
|
||||
# The resulting commit will not trigger another GitHub Actions Workflow run.
|
||||
# This is due to limitations set by GitHub.
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: Update information about twitter results
|
||||
|
|
6
_data/twitter/history/2021-03-01T00:00:00.000Z.json
Normal file
6
_data/twitter/history/2021-03-01T00:00:00.000Z.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"meta": {
|
||||
"result_count": 0
|
||||
},
|
||||
"_headers": {}
|
||||
}
|
6
_data/twitter/history/2021-03-02T00:00:00.000Z.json
Normal file
6
_data/twitter/history/2021-03-02T00:00:00.000Z.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"meta": {
|
||||
"result_count": 0
|
||||
},
|
||||
"_headers": {}
|
||||
}
|
852
_data/twitter/history/2021-03-03T00:00:00.000Z.json
Normal file
852
_data/twitter/history/2021-03-03T00:00:00.000Z.json
Normal file
|
@ -0,0 +1,852 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"text": "RT @PucelaBits: Los 'Pepito Grillo' de la ciberseguridad de las webs públicas españolas.\n\nGracias @CdelCastilloM por la difusión del trabaj…",
|
||||
"entities": {
|
||||
"mentions": [
|
||||
{
|
||||
"start": 3,
|
||||
"end": 14,
|
||||
"username": "PucelaBits"
|
||||
},
|
||||
{
|
||||
"start": 98,
|
||||
"end": 112,
|
||||
"username": "CdelCastilloM"
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"start": 21,
|
||||
"end": 33,
|
||||
"probability": 0.8465,
|
||||
"type": "Person",
|
||||
"normalized_text": "Pepito Grillo"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366887578448891905"
|
||||
},
|
||||
{
|
||||
"text": "RT @PucelaBits: Los 'Pepito Grillo' de la ciberseguridad de las webs públicas españolas.\n\nGracias @CdelCastilloM por la difusión del trabaj…",
|
||||
"entities": {
|
||||
"mentions": [
|
||||
{
|
||||
"start": 3,
|
||||
"end": 14,
|
||||
"username": "PucelaBits"
|
||||
},
|
||||
{
|
||||
"start": 98,
|
||||
"end": 112,
|
||||
"username": "CdelCastilloM"
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"start": 21,
|
||||
"end": 33,
|
||||
"probability": 0.8465,
|
||||
"type": "Person",
|
||||
"normalized_text": "Pepito Grillo"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366877019947102212"
|
||||
},
|
||||
{
|
||||
"text": "Hola @PresiCan\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/6TxS5GqDIW\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 200,
|
||||
"end": 210,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 14,
|
||||
"username": "PresiCan"
|
||||
},
|
||||
{
|
||||
"start": 216,
|
||||
"end": 227,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 175,
|
||||
"end": 198,
|
||||
"url": "https://t.co/6TxS5GqDIW",
|
||||
"expanded_url": "https://websegura.pucelabits.org/ranking/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/ranking/?pk_ca…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366849538938593287"
|
||||
},
|
||||
{
|
||||
"text": "Hola @salutcat\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/tmegb1En1W\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 200,
|
||||
"end": 210,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 14,
|
||||
"username": "salutcat"
|
||||
},
|
||||
{
|
||||
"start": 216,
|
||||
"end": 227,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 175,
|
||||
"end": 198,
|
||||
"url": "https://t.co/tmegb1En1W",
|
||||
"expanded_url": "https://websegura.pucelabits.org/w/lamevasalut!gencat!cat/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/w/lamevasalut!…",
|
||||
"images": [
|
||||
{
|
||||
"url": "https://pbs.twimg.com/news_img/1366791851487985670/3GGBL7QN?format=png&name=orig",
|
||||
"width": 320,
|
||||
"height": 320
|
||||
},
|
||||
{
|
||||
"url": "https://pbs.twimg.com/news_img/1366791851487985670/3GGBL7QN?format=png&name=150x150",
|
||||
"width": 150,
|
||||
"height": 150
|
||||
}
|
||||
],
|
||||
"status": 200,
|
||||
"title": "lamevasalut.gencat.cat - Observatorio de seguridad web",
|
||||
"description": "¿Cómo de seguras son las webs de nuestros organismos públicos?",
|
||||
"unwound_url": "https://websegura.pucelabits.org/w/lamevasalut!gencat!cat/?pk_campaign=HazseloSaber&pk_source=twitter"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366791850930167812"
|
||||
},
|
||||
{
|
||||
"text": "Hola @mitmagob\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/C3iZZONRHR\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 200,
|
||||
"end": 210,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 14,
|
||||
"username": "mitmagob"
|
||||
},
|
||||
{
|
||||
"start": 216,
|
||||
"end": 227,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 175,
|
||||
"end": 198,
|
||||
"url": "https://t.co/C3iZZONRHR",
|
||||
"expanded_url": "https://websegura.pucelabits.org/w/www!mitma!gob!es/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/w/www!mitma!go…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366791405520232452"
|
||||
},
|
||||
{
|
||||
"text": "RT @PucelaBits: Los 'Pepito Grillo' de la ciberseguridad de las webs públicas españolas.\n\nGracias @CdelCastilloM por la difusión del trabaj…",
|
||||
"entities": {
|
||||
"mentions": [
|
||||
{
|
||||
"start": 3,
|
||||
"end": 14,
|
||||
"username": "PucelaBits"
|
||||
},
|
||||
{
|
||||
"start": 98,
|
||||
"end": 112,
|
||||
"username": "CdelCastilloM"
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"start": 21,
|
||||
"end": 33,
|
||||
"probability": 0.8465,
|
||||
"type": "Person",
|
||||
"normalized_text": "Pepito Grillo"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366773463751475204"
|
||||
},
|
||||
{
|
||||
"text": "RT @PucelaBits: Los 'Pepito Grillo' de la ciberseguridad de las webs públicas españolas.\n\nGracias @CdelCastilloM por la difusión del trabaj…",
|
||||
"entities": {
|
||||
"mentions": [
|
||||
{
|
||||
"start": 3,
|
||||
"end": 14,
|
||||
"username": "PucelaBits"
|
||||
},
|
||||
{
|
||||
"start": 98,
|
||||
"end": 112,
|
||||
"username": "CdelCastilloM"
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"start": 21,
|
||||
"end": 33,
|
||||
"probability": 0.8464,
|
||||
"type": "Person",
|
||||
"normalized_text": "Pepito Grillo"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366771264023576577"
|
||||
},
|
||||
{
|
||||
"text": "Los 'Pepito Grillo' de la ciberseguridad de las webs públicas españolas.\n\nGracias @CdelCastilloM por la difusión del trabajo de #websegura\n\nhttps://t.co/uc62A11bXC",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 128,
|
||||
"end": 138,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 82,
|
||||
"end": 96,
|
||||
"username": "CdelCastilloM"
|
||||
}
|
||||
],
|
||||
"annotations": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 17,
|
||||
"probability": 0.7644,
|
||||
"type": "Person",
|
||||
"normalized_text": "Pepito Grillo"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 140,
|
||||
"end": 163,
|
||||
"url": "https://t.co/uc62A11bXC",
|
||||
"expanded_url": "https://www.eldiario.es/tecnologia/tres-ingenieros-pepito-grillo-ciberseguridad-webs-publicas-espanolas_1_7252835.html",
|
||||
"display_url": "eldiario.es/tecnologia/tre…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366770302504620035"
|
||||
},
|
||||
{
|
||||
"text": "Hola @CERESfnmt\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 201,
|
||||
"end": 211,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 15,
|
||||
"username": "CERESfnmt"
|
||||
},
|
||||
{
|
||||
"start": 217,
|
||||
"end": 228,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 176,
|
||||
"end": 199,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741979896381443"
|
||||
},
|
||||
{
|
||||
"text": "Hola @Defensagob\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 202,
|
||||
"end": 212,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 16,
|
||||
"username": "Defensagob"
|
||||
},
|
||||
{
|
||||
"start": 218,
|
||||
"end": 229,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 177,
|
||||
"end": 200,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741948455931904"
|
||||
},
|
||||
{
|
||||
"text": "Hola @dominiospuntoes\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 207,
|
||||
"end": 217,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 21,
|
||||
"username": "dominiospuntoes"
|
||||
},
|
||||
{
|
||||
"start": 223,
|
||||
"end": 234,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 182,
|
||||
"end": 205,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741926226112518"
|
||||
},
|
||||
{
|
||||
"text": "Hola @boegob\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 198,
|
||||
"end": 208,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 12,
|
||||
"username": "boegob"
|
||||
},
|
||||
{
|
||||
"start": 214,
|
||||
"end": 225,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 173,
|
||||
"end": 196,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741902599536643"
|
||||
},
|
||||
{
|
||||
"text": "Hola @AEPD_es\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 199,
|
||||
"end": 209,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 13,
|
||||
"username": "AEPD_es"
|
||||
},
|
||||
{
|
||||
"start": 215,
|
||||
"end": 226,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 174,
|
||||
"end": 197,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741884635348995"
|
||||
},
|
||||
{
|
||||
"text": "Hola @policia\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 199,
|
||||
"end": 209,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 13,
|
||||
"username": "policia"
|
||||
},
|
||||
{
|
||||
"start": 215,
|
||||
"end": 226,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 174,
|
||||
"end": 197,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741836690321410"
|
||||
},
|
||||
{
|
||||
"text": "Hola @justiciagob\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 203,
|
||||
"end": 213,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 17,
|
||||
"username": "justiciagob"
|
||||
},
|
||||
{
|
||||
"start": 219,
|
||||
"end": 230,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 178,
|
||||
"end": 201,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741816775761924"
|
||||
},
|
||||
{
|
||||
"text": "Hola @LaRedIRIS\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 201,
|
||||
"end": 211,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 15,
|
||||
"username": "LaRedIRIS"
|
||||
},
|
||||
{
|
||||
"start": 217,
|
||||
"end": 228,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 176,
|
||||
"end": 199,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741745648750592"
|
||||
},
|
||||
{
|
||||
"text": "Hola @redpuntoes\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 202,
|
||||
"end": 212,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 16,
|
||||
"username": "redpuntoes"
|
||||
},
|
||||
{
|
||||
"start": 218,
|
||||
"end": 229,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 177,
|
||||
"end": 200,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741722219356163"
|
||||
},
|
||||
{
|
||||
"text": "Hola @educaciongob\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 204,
|
||||
"end": 214,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 18,
|
||||
"username": "educaciongob"
|
||||
},
|
||||
{
|
||||
"start": 220,
|
||||
"end": 231,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 179,
|
||||
"end": 202,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741675461246978"
|
||||
},
|
||||
{
|
||||
"text": "Hola @datosgob\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 200,
|
||||
"end": 210,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 14,
|
||||
"username": "datosgob"
|
||||
},
|
||||
{
|
||||
"start": 216,
|
||||
"end": 227,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 175,
|
||||
"end": 198,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741644876386306"
|
||||
},
|
||||
{
|
||||
"text": "Hola @DGTes\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 197,
|
||||
"end": 207,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 11,
|
||||
"username": "DGTes"
|
||||
},
|
||||
{
|
||||
"start": 213,
|
||||
"end": 224,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 172,
|
||||
"end": 195,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741588706283521"
|
||||
},
|
||||
{
|
||||
"text": "Hola @Congreso_Es\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 203,
|
||||
"end": 213,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 17,
|
||||
"username": "Congreso_Es"
|
||||
},
|
||||
{
|
||||
"start": 219,
|
||||
"end": 230,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 178,
|
||||
"end": 201,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741470070394886"
|
||||
},
|
||||
{
|
||||
"text": "Hola @culturagob\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 202,
|
||||
"end": 212,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 16,
|
||||
"username": "culturagob"
|
||||
},
|
||||
{
|
||||
"start": 218,
|
||||
"end": 229,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 177,
|
||||
"end": 200,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741439732981767"
|
||||
},
|
||||
{
|
||||
"text": "Hola @AppRadarCovid\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 205,
|
||||
"end": 215,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 19,
|
||||
"username": "AppRadarCovid"
|
||||
},
|
||||
{
|
||||
"start": 221,
|
||||
"end": 232,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 180,
|
||||
"end": 203,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741409059979267"
|
||||
},
|
||||
{
|
||||
"text": "Hola @guardiacivil\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 204,
|
||||
"end": 214,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 18,
|
||||
"username": "guardiacivil"
|
||||
},
|
||||
{
|
||||
"start": 220,
|
||||
"end": 231,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 179,
|
||||
"end": 202,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741382589796356"
|
||||
},
|
||||
{
|
||||
"text": "Hola @empleo_SEPE\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/dBpsy9JW4T\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 203,
|
||||
"end": 213,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 17,
|
||||
"username": "empleo_SEPE"
|
||||
},
|
||||
{
|
||||
"start": 219,
|
||||
"end": 230,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 178,
|
||||
"end": 201,
|
||||
"url": "https://t.co/dBpsy9JW4T",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366741349714849798"
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"newest_id": "1366887578448891905",
|
||||
"oldest_id": "1366741349714849798",
|
||||
"result_count": 25
|
||||
},
|
||||
"_headers": {}
|
||||
}
|
97
_data/twitter/history/2021-03-04T00:00:00.000Z.json
Normal file
97
_data/twitter/history/2021-03-04T00:00:00.000Z.json
Normal file
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"entities": {
|
||||
"urls": [
|
||||
{
|
||||
"start": 28,
|
||||
"end": 51,
|
||||
"url": "https://t.co/xPBTePkmPF",
|
||||
"expanded_url": "https://paper.li/legalconsultech/1559749692?edition_id=1a66f0d0-7bf5-11eb-a45b-fa163e392b9f",
|
||||
"display_url": "paper.li/legalconsultec…",
|
||||
"images": [
|
||||
{
|
||||
"url": "https://pbs.twimg.com/news_img/1367019507840081920/-j8tOWT6?format=jpg&name=orig",
|
||||
"width": 982,
|
||||
"height": 468
|
||||
},
|
||||
{
|
||||
"url": "https://pbs.twimg.com/news_img/1367019507840081920/-j8tOWT6?format=jpg&name=150x150",
|
||||
"width": 150,
|
||||
"height": 150
|
||||
}
|
||||
],
|
||||
"status": 200,
|
||||
"title": "La Agencia Española de Protección de Datos investigará a la EMT de Valencia",
|
||||
"description": "lasprovincias.es El órgano admite la reclamación del grupo municipal popular tras el dictamen de Antifraude y la auditoría de ciberseguridad",
|
||||
"unwound_url": "https://paper.li/legalconsultech/1559749692?edition_id=1a66f0d0-7bf5-11eb-a45b-fa163e392b9f"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 11,
|
||||
"end": 27,
|
||||
"username": "legalconsultech"
|
||||
},
|
||||
{
|
||||
"start": 69,
|
||||
"end": 80,
|
||||
"username": "gsantosgim"
|
||||
},
|
||||
{
|
||||
"start": 81,
|
||||
"end": 90,
|
||||
"username": "Fbiurrun"
|
||||
}
|
||||
],
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 91,
|
||||
"end": 106,
|
||||
"tag": "ciberseguridad"
|
||||
},
|
||||
{
|
||||
"start": 107,
|
||||
"end": 117,
|
||||
"tag": "websegura"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1367019506753757185",
|
||||
"text": "News Brief @Legalconsultech\nhttps://t.co/xPBTePkmPF Destacamos hoy a @gsantosgim @Fbiurrun #ciberseguridad #websegura"
|
||||
},
|
||||
{
|
||||
"entities": {
|
||||
"annotations": [
|
||||
{
|
||||
"start": 21,
|
||||
"end": 33,
|
||||
"probability": 0.8465,
|
||||
"type": "Person",
|
||||
"normalized_text": "Pepito Grillo"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 3,
|
||||
"end": 14,
|
||||
"username": "PucelaBits"
|
||||
},
|
||||
{
|
||||
"start": 98,
|
||||
"end": 112,
|
||||
"username": "CdelCastilloM"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1366902381791875075",
|
||||
"text": "RT @PucelaBits: Los 'Pepito Grillo' de la ciberseguridad de las webs públicas españolas.\n\nGracias @CdelCastilloM por la difusión del trabaj…"
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"newest_id": "1367019506753757185",
|
||||
"oldest_id": "1366902381791875075",
|
||||
"result_count": 2
|
||||
},
|
||||
"_headers": {}
|
||||
}
|
260
_data/twitter/history/2021-03-05T00:00:00.000Z.json
Normal file
260
_data/twitter/history/2021-03-05T00:00:00.000Z.json
Normal file
|
@ -0,0 +1,260 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"id": "1367427731265355776",
|
||||
"entities": {
|
||||
"mentions": [
|
||||
{
|
||||
"start": 3,
|
||||
"end": 12,
|
||||
"username": "nukeador"
|
||||
}
|
||||
],
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 106,
|
||||
"end": 116,
|
||||
"tag": "websegura"
|
||||
}
|
||||
]
|
||||
},
|
||||
"text": "RT @nukeador: Más y más organismos poniéndose las pilas en seguridad gracias al trabajo de visibilidad de #websegura 😍"
|
||||
},
|
||||
{
|
||||
"id": "1367427372539142146",
|
||||
"entities": {
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 21,
|
||||
"username": "AyuntamientoVLL"
|
||||
},
|
||||
{
|
||||
"start": 223,
|
||||
"end": 234,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 182,
|
||||
"end": 205,
|
||||
"url": "https://t.co/TvPkRfzQSY",
|
||||
"expanded_url": "https://websegura.pucelabits.org/p/valladolid/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/p/valladolid/?…"
|
||||
}
|
||||
],
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 207,
|
||||
"end": 217,
|
||||
"tag": "websegura"
|
||||
}
|
||||
]
|
||||
},
|
||||
"text": "Hola @AyuntamientoVLL\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/TvPkRfzQSY\n\n#websegura /vía @PucelaBits"
|
||||
},
|
||||
{
|
||||
"id": "1367424111601934336",
|
||||
"entities": {
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 18,
|
||||
"username": "guardiacivil"
|
||||
},
|
||||
{
|
||||
"start": 220,
|
||||
"end": 231,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 179,
|
||||
"end": 202,
|
||||
"url": "https://t.co/LjZ9GiziNG",
|
||||
"expanded_url": "https://websegura.pucelabits.org/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/?pk_campaign=H…"
|
||||
}
|
||||
],
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 204,
|
||||
"end": 214,
|
||||
"tag": "websegura"
|
||||
}
|
||||
]
|
||||
},
|
||||
"text": "Hola @guardiacivil\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/LjZ9GiziNG\n\n#websegura /vía @PucelaBits"
|
||||
},
|
||||
{
|
||||
"id": "1367423942978338821",
|
||||
"entities": {
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 11,
|
||||
"username": "Renfe"
|
||||
},
|
||||
{
|
||||
"start": 213,
|
||||
"end": 224,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 172,
|
||||
"end": 195,
|
||||
"url": "https://t.co/8C2xgMoVE8",
|
||||
"expanded_url": "https://websegura.pucelabits.org/w/www!renfe!com/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/w/www!renfe!co…"
|
||||
}
|
||||
],
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 197,
|
||||
"end": 207,
|
||||
"tag": "websegura"
|
||||
}
|
||||
]
|
||||
},
|
||||
"text": "Hola @Renfe\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/8C2xgMoVE8\n\n#websegura /vía @PucelaBits"
|
||||
},
|
||||
{
|
||||
"id": "1367422949121282056",
|
||||
"entities": {
|
||||
"urls": [
|
||||
{
|
||||
"start": 105,
|
||||
"end": 128,
|
||||
"url": "https://t.co/EHUBCoqKua",
|
||||
"expanded_url": "https://twitter.com/PucelaBits/status/1367422034859466765",
|
||||
"display_url": "twitter.com/PucelaBits/sta…"
|
||||
}
|
||||
],
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 92,
|
||||
"end": 102,
|
||||
"tag": "websegura"
|
||||
}
|
||||
]
|
||||
},
|
||||
"text": "Más y más organismos poniéndose las pilas en seguridad gracias al trabajo de visibilidad de #websegura 😍 https://t.co/EHUBCoqKua"
|
||||
},
|
||||
{
|
||||
"id": "1367422639745204224",
|
||||
"entities": {
|
||||
"annotations": [
|
||||
{
|
||||
"start": 36,
|
||||
"end": 51,
|
||||
"probability": 0.9004,
|
||||
"type": "Organization",
|
||||
"normalized_text": "Policía Nacional"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 3,
|
||||
"end": 14,
|
||||
"username": "PucelaBits"
|
||||
},
|
||||
{
|
||||
"start": 53,
|
||||
"end": 61,
|
||||
"username": "policia"
|
||||
}
|
||||
]
|
||||
},
|
||||
"text": "RT @PucelaBits: 🎉 Enhorabuena a la Policía Nacional (@policia) por mejorar la seguridad de su web.\n\nPasan de una C+ a una B, entrando en la…"
|
||||
},
|
||||
{
|
||||
"id": "1367422514746560512",
|
||||
"entities": {
|
||||
"annotations": [
|
||||
{
|
||||
"start": 20,
|
||||
"end": 35,
|
||||
"probability": 0.887,
|
||||
"type": "Organization",
|
||||
"normalized_text": "Policía Nacional"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 37,
|
||||
"end": 45,
|
||||
"username": "policia"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 148,
|
||||
"end": 171,
|
||||
"url": "https://t.co/bA38cRQub9",
|
||||
"expanded_url": "https://websegura.pucelabits.org/w/www!policia!es/",
|
||||
"display_url": "websegura.pucelabits.org/w/www!policia!…"
|
||||
},
|
||||
{
|
||||
"start": 212,
|
||||
"end": 235,
|
||||
"url": "https://t.co/4oUVZNM2zV",
|
||||
"expanded_url": "https://twitter.com/PucelaBits/status/1367422514746560512/photo/1",
|
||||
"display_url": "pic.twitter.com/4oUVZNM2zV"
|
||||
}
|
||||
],
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 201,
|
||||
"end": 211,
|
||||
"tag": "websegura"
|
||||
}
|
||||
]
|
||||
},
|
||||
"text": "🎉 Enhorabuena a la Policía Nacional (@policia) por mejorar la seguridad de su web.\n\nPasan de una C+ a una B, entrando en la lista de webs seguras.\n\nhttps://t.co/bA38cRQub9\n\nSeguimos empujando para una #websegura https://t.co/4oUVZNM2zV"
|
||||
},
|
||||
{
|
||||
"id": "1367410387319160833",
|
||||
"entities": {
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 13,
|
||||
"username": "MAECgob"
|
||||
},
|
||||
{
|
||||
"start": 215,
|
||||
"end": 226,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 174,
|
||||
"end": 197,
|
||||
"url": "https://t.co/GrNTQAEc8Y",
|
||||
"expanded_url": "https://websegura.pucelabits.org/w/www!exteriores!gob!es/?pk_campaign=WebDelDia&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/w/www!exterior…"
|
||||
}
|
||||
],
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 199,
|
||||
"end": 209,
|
||||
"tag": "websegura"
|
||||
}
|
||||
]
|
||||
},
|
||||
"text": "Hola @MAECgob\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/GrNTQAEc8Y\n\n#websegura /vía @PucelaBits"
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"newest_id": "1367427731265355776",
|
||||
"oldest_id": "1367410387319160833",
|
||||
"result_count": 8
|
||||
},
|
||||
"_headers": {}
|
||||
}
|
110
_data/twitter/history/2021-03-06T00:00:00.000Z.json
Normal file
110
_data/twitter/history/2021-03-06T00:00:00.000Z.json
Normal file
|
@ -0,0 +1,110 @@
|
|||
{
|
||||
"data": [
|
||||
{
|
||||
"text": "Hola @aytocifuentes\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/7B5TIWZ99D\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 205,
|
||||
"end": 215,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 19,
|
||||
"username": "aytocifuentes"
|
||||
},
|
||||
{
|
||||
"start": 221,
|
||||
"end": 232,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 180,
|
||||
"end": 203,
|
||||
"url": "https://t.co/7B5TIWZ99D",
|
||||
"expanded_url": "https://websegura.pucelabits.org/p/guadalajara/?pk_campaign=HazseloSaber&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/p/guadalajara/…",
|
||||
"images": [
|
||||
{
|
||||
"url": "https://pbs.twimg.com/news_img/1367911787018981383/w0bE8iTg?format=png&name=orig",
|
||||
"width": 320,
|
||||
"height": 320
|
||||
},
|
||||
{
|
||||
"url": "https://pbs.twimg.com/news_img/1367911787018981383/w0bE8iTg?format=png&name=150x150",
|
||||
"width": 150,
|
||||
"height": 150
|
||||
}
|
||||
],
|
||||
"status": 200,
|
||||
"title": "Guadalajara - Observatorio de seguridad web",
|
||||
"description": "¿Cómo de seguras son las webs de nuestros organismos públicos?",
|
||||
"unwound_url": "https://websegura.pucelabits.org/p/guadalajara/?pk_campaign=HazseloSaber&pk_source=twitter"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1367911785588793348"
|
||||
},
|
||||
{
|
||||
"text": "Hola @MAECgob\n\n🔒 La seguridad de vuestra web y usuarios puede ser comprometida si no actualizáis vuestras conexiones seguras (HTTPS).\n⚠️ ¡Por favor, revisadlo cuanto antes!\n\nhttps://t.co/GrNTQAEc8Y\n\n#websegura /vía @PucelaBits",
|
||||
"entities": {
|
||||
"hashtags": [
|
||||
{
|
||||
"start": 199,
|
||||
"end": 209,
|
||||
"tag": "websegura"
|
||||
}
|
||||
],
|
||||
"mentions": [
|
||||
{
|
||||
"start": 5,
|
||||
"end": 13,
|
||||
"username": "MAECgob"
|
||||
},
|
||||
{
|
||||
"start": 215,
|
||||
"end": 226,
|
||||
"username": "PucelaBits"
|
||||
}
|
||||
],
|
||||
"urls": [
|
||||
{
|
||||
"start": 174,
|
||||
"end": 197,
|
||||
"url": "https://t.co/GrNTQAEc8Y",
|
||||
"expanded_url": "https://websegura.pucelabits.org/w/www!exteriores!gob!es/?pk_campaign=WebDelDia&pk_source=twitter",
|
||||
"display_url": "websegura.pucelabits.org/w/www!exterior…",
|
||||
"images": [
|
||||
{
|
||||
"url": "https://pbs.twimg.com/news_img/1367410391354142721/DuGb06aV?format=png&name=orig",
|
||||
"width": 320,
|
||||
"height": 320
|
||||
},
|
||||
{
|
||||
"url": "https://pbs.twimg.com/news_img/1367410391354142721/DuGb06aV?format=png&name=150x150",
|
||||
"width": 150,
|
||||
"height": 150
|
||||
}
|
||||
],
|
||||
"status": 200,
|
||||
"title": "www.exteriores.gob.es - Observatorio de seguridad web",
|
||||
"description": "¿Cómo de seguras son las webs de nuestros organismos públicos?",
|
||||
"unwound_url": "https://websegura.pucelabits.org/w/www!exteriores!gob!es/?pk_campaign=WebDelDia&pk_source=twitter"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": "1367890556240728067"
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"newest_id": "1367911785588793348",
|
||||
"oldest_id": "1367890556240728067",
|
||||
"result_count": 2
|
||||
},
|
||||
"_headers": {}
|
||||
}
|
25
_data/twitter/summary.json
Normal file
25
_data/twitter/summary.json
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"PresiCan": 1,
|
||||
"salutcat": 1,
|
||||
"mitmagob": 1,
|
||||
"CERESfnmt": 1,
|
||||
"Defensagob": 1,
|
||||
"dominiospuntoes": 1,
|
||||
"boegob": 1,
|
||||
"AEPD_es": 1,
|
||||
"policia": 1,
|
||||
"justiciagob": 1,
|
||||
"LaRedIRIS": 1,
|
||||
"redpuntoes": 1,
|
||||
"educaciongob": 1,
|
||||
"datosgob": 1,
|
||||
"DGTes": 1,
|
||||
"Congreso_Es": 1,
|
||||
"culturagob": 1,
|
||||
"AppRadarCovid": 1,
|
||||
"guardiacivil": 2,
|
||||
"empleo_SEPE": 1,
|
||||
"AyuntamientoVLL": 1,
|
||||
"Renfe": 1,
|
||||
"aytocifuentes": 1
|
||||
}
|
|
@ -12,7 +12,14 @@
|
|||
<ul>
|
||||
<li><strong>Nombre:</strong> {{ web.name }}</li>
|
||||
<li><strong>Dirección:</strong> <a href="https://{{ web.url }}">{{ web.url }}</a></li>
|
||||
{% if web.twitter %}<li><strong>Twitter:</strong> <a href="https://twitter.com/{{ web.twitter }}">@{{ web.twitter }}</a></li>{% endif %}
|
||||
{% if web.twitter %}
|
||||
<li>
|
||||
<strong>Twitter:</strong> <a href="https://twitter.com/{{ web.twitter }}">@{{ web.twitter }}</a>
|
||||
{% if web.twitter_mentions > 0 %}
|
||||
<em>({{ web.twitter_mentions }} menciones)</em>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if type %}
|
||||
<li><strong>Ubicación:</strong> <a href="/{{ type }}/{{ parent }}">{{ location.name }}</a></li>
|
||||
{% endif %}
|
||||
|
|
71
crawler/twitter-search.js
Normal file
71
crawler/twitter-search.js
Normal file
|
@ -0,0 +1,71 @@
|
|||
/**
|
||||
* Fichero con utilidades para realizar búsquedas en Twitter por hashtag #websegura.
|
||||
* Permite buscar los resultados de un día concreto, estableciendo la variable de entorno HOW_MANY_DAYS_AGO.
|
||||
* Guarda los resultados devueltos por el API de Twitter en crudo en _data/twitter/histroy para poder hacer
|
||||
* un análisis con ellos.
|
||||
*/
|
||||
const Twitter = require('twitter-lite');
|
||||
const fs = require('fs/promises');
|
||||
|
||||
if (!process.env.TWITTER_BEARER_TOKEN) {
|
||||
console.error("Required environment variable not set TWITTER_BEARER_TOKEN");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
async function results(daysAgo = 0) {
|
||||
const client = new Twitter({
|
||||
version: "2",
|
||||
extension: false, // must be set to false for v2 endpoints
|
||||
bearer_token: process.env.TWITTER_BEARER_TOKEN
|
||||
});
|
||||
|
||||
const midnight = new Date();
|
||||
midnight.setUTCHours(0,0,0,0);
|
||||
|
||||
const end = new Date(midnight - 1000 * 60 * 60 * 24 * daysAgo);
|
||||
const start = new Date(end - 1000 * 60 * 60 * 24);
|
||||
|
||||
try {
|
||||
console.log(`Request Twitter info from ${start.toISOString()} to ${end.toISOString()}`);
|
||||
|
||||
// Twitter API reference
|
||||
// see https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference
|
||||
|
||||
// XXX This code assumes we won't have more than 100 tweets with hashtag #websegura per day.
|
||||
// We need to improve this code adding pagination when needed.
|
||||
const tweets = await client.get("tweets/search/recent", {
|
||||
"query": "#websegura",
|
||||
"max_results": 100, // max = 100
|
||||
"tweet.fields": "entities",
|
||||
"start_time": start.toISOString(),
|
||||
"end_time": end.toISOString()
|
||||
});
|
||||
|
||||
// useful for debugging purposes only
|
||||
// console.log(JSON.stringify(tweets, null, 2));
|
||||
|
||||
dumpRateLimitInfo(tweets);
|
||||
|
||||
const fileName = end.toISOString();
|
||||
await fs.writeFile(`_data/twitter/history/${fileName}.json`, JSON.stringify(tweets, null, 2));
|
||||
} catch (e) {
|
||||
console.error('Not able to retrieve and store Twitter API results', e.errors ? JSON.stringify(e.errors) : e);
|
||||
}
|
||||
}
|
||||
|
||||
function dumpRateLimitInfo(response) {
|
||||
console.log(`Rate: ${response._headers.get('x-rate-limit-remaining')} / ${response._headers.get('x-rate-limit-limit')}`);
|
||||
const delta = (response._headers.get('x-rate-limit-reset') * 1000) - Date.now()
|
||||
console.log(`Reset: ${Math.ceil(delta / 1000 / 60)} minutes`);
|
||||
}
|
||||
|
||||
const HOW_MANY_DAYS_AGO = process.env.HOW_MANY_DAYS_AGO || 1; // 1 = yesterday
|
||||
if (HOW_MANY_DAYS_AGO > 7) {
|
||||
console.error("Twitter API does not support searching for tweets older than one week");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
results(HOW_MANY_DAYS_AGO).catch(err => {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
59
crawler/twitter-summary.js
Normal file
59
crawler/twitter-summary.js
Normal file
|
@ -0,0 +1,59 @@
|
|||
const fs = require("fs");
|
||||
const glob = require("fast-glob");
|
||||
|
||||
const PUCELABITS_TWITTER_USERNAME = "PucelaBits";
|
||||
|
||||
function getTwitterHistoryFiles() {
|
||||
return glob.sync("_data/twitter/history/*.json");
|
||||
}
|
||||
|
||||
/**
|
||||
* Recorre los ficheros del histórico de Twitter para devolver
|
||||
* un mapa de correspondencias entre sitio -> total_num_tweets
|
||||
*/
|
||||
async function summarize() {
|
||||
console.log("Building Twitter summary");
|
||||
const summary = getTwitterHistoryFiles()
|
||||
.map(file => JSON.parse(fs.readFileSync(file)))
|
||||
.flatMap(toUsernames)
|
||||
.filter(x => !!x)
|
||||
.reduce(countDuplicates, {});
|
||||
|
||||
console.log(summary);
|
||||
fs.writeFileSync('_data/twitter/summary.json', JSON.stringify(summary, null, 2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Filtra los tweets validos y devuelve un array donde cada elemento es el nombre de
|
||||
* usuario de Twitter referenciado. Si hay varios, se queda con el primero que encuentra.
|
||||
*/
|
||||
function toUsernames(dailyTwitterResults) {
|
||||
return dailyTwitterResults
|
||||
.data?.filter(containsValidReference)
|
||||
.map(tweet => tweet.entities.mentions.find(x => x.username !== PUCELABITS_TWITTER_USERNAME).username)
|
||||
}
|
||||
|
||||
// https://stackoverflow.com/a/43530199/12388
|
||||
function countDuplicates(obj, num) {
|
||||
obj[num] = (++obj[num] || 1);
|
||||
return obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determina si un tweet tiene una referencia válida a websegura y forma
|
||||
* parte de la campaña de difusión de la web. Así no se tienen en cuenta
|
||||
* apariciones del hashtag "websegura" en otros contextos.
|
||||
*/
|
||||
function containsValidReference(tweet) {
|
||||
const valid =
|
||||
tweet.entities.hashtags?.some(x => x.tag === "websegura") &&
|
||||
tweet.entities.mentions?.some(x => x.username.toLowerCase() === PUCELABITS_TWITTER_USERNAME.toLowerCase()) &&
|
||||
tweet.entities.urls?.some(x => x.expanded_url.indexOf("HazseloSaber") >= 0);
|
||||
|
||||
return valid;
|
||||
}
|
||||
|
||||
summarize().catch(err => {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
|
@ -1,3 +0,0 @@
|
|||
// TODO
|
||||
|
||||
console.log(process.env.TWITTER_API_KEY);
|
415
package-lock.json
generated
415
package-lock.json
generated
|
@ -13,8 +13,9 @@
|
|||
"ava": "^3.15.0",
|
||||
"axios": "^0.21.1",
|
||||
"bottleneck": "^2.19.5",
|
||||
"fast-glob": "^3.2.4",
|
||||
"sass": "^1.32.5"
|
||||
"fast-glob": "^3.2.5",
|
||||
"sass": "^1.32.8",
|
||||
"twitter-lite": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@11ty/dependency-tree": {
|
||||
|
@ -67,10 +68,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/11ty"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
|
@ -443,9 +440,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
|
@ -664,9 +658,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/ava/node_modules/chalk": {
|
||||
|
@ -680,9 +671,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/ava/node_modules/chalk/node_modules/ansi-styles": {
|
||||
|
@ -695,9 +683,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/ava/node_modules/cliui": {
|
||||
|
@ -728,9 +713,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ava/node_modules/globby": {
|
||||
|
@ -748,9 +730,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ava/node_modules/is-path-cwd": {
|
||||
|
@ -802,9 +781,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ava/node_modules/rimraf": {
|
||||
|
@ -817,9 +793,6 @@
|
|||
},
|
||||
"bin": {
|
||||
"rimraf": "bin.js"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/ava/node_modules/slash": {
|
||||
|
@ -843,9 +816,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/ava/node_modules/wrap-ansi/node_modules/ansi-styles": {
|
||||
|
@ -858,9 +828,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/ava/node_modules/y18n": {
|
||||
|
@ -964,21 +931,7 @@
|
|||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
]
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/base64id": {
|
||||
"version": "1.0.0",
|
||||
|
@ -1062,9 +1015,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/boxen/node_modules/camelcase": {
|
||||
|
@ -1074,9 +1024,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/boxen/node_modules/chalk": {
|
||||
|
@ -1090,9 +1037,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/boxen/node_modules/type-fest": {
|
||||
|
@ -1102,9 +1046,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/boxen/node_modules/wrap-ansi": {
|
||||
|
@ -1119,9 +1060,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
|
@ -1237,9 +1175,6 @@
|
|||
"dev": true,
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/bs-recipes": {
|
||||
|
@ -1259,20 +1194,6 @@
|
|||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
|
@ -1321,9 +1242,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/cacheable-request/node_modules/lowercase-keys": {
|
||||
|
@ -1474,9 +1392,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/cli-cursor": {
|
||||
|
@ -1498,9 +1413,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/cli-truncate": {
|
||||
|
@ -1514,9 +1426,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/cliui": {
|
||||
|
@ -1783,9 +1692,16 @@
|
|||
"version": "2.6.12",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
|
||||
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
|
||||
"deprecated": "core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/cross-fetch": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz",
|
||||
"integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true
|
||||
"dependencies": {
|
||||
"node-fetch": "2.6.1"
|
||||
}
|
||||
},
|
||||
"node_modules/crypto-random-string": {
|
||||
"version": "2.0.0",
|
||||
|
@ -1827,11 +1743,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/decamelize": {
|
||||
|
@ -2040,7 +1951,6 @@
|
|||
"resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
|
||||
"integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
|
@ -2058,9 +1968,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sindresorhus/emittery?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
|
@ -2164,18 +2071,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": "^5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-parser": {
|
||||
|
@ -2331,9 +2226,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/fast-glob": {
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
|
||||
"integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
|
||||
"version": "3.2.5",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
|
||||
"integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@nodelib/fs.stat": "^2.0.2",
|
||||
|
@ -2348,9 +2243,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/fastq": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz",
|
||||
"integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==",
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz",
|
||||
"integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"reusify": "^1.0.4"
|
||||
|
@ -2366,9 +2261,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
|
@ -2434,19 +2326,8 @@
|
|||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz",
|
||||
"integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://github.com/sponsors/RubenVerborgh"
|
||||
}
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=4.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"debug": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/fresh": {
|
||||
|
@ -2483,7 +2364,6 @@
|
|||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz",
|
||||
"integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
|
@ -2534,9 +2414,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/glob-parent": {
|
||||
|
@ -2561,9 +2438,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/global-dirs/node_modules/ini": {
|
||||
|
@ -2757,9 +2631,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-yarn": {
|
||||
|
@ -2838,21 +2709,7 @@
|
|||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
]
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ignore": {
|
||||
"version": "5.1.8",
|
||||
|
@ -3017,9 +2874,6 @@
|
|||
"dev": true,
|
||||
"dependencies": {
|
||||
"has": "^1.0.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-error": {
|
||||
|
@ -3088,9 +2942,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/is-installed-globally/node_modules/is-path-inside": {
|
||||
|
@ -3118,9 +2969,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/is-number": {
|
||||
|
@ -3208,9 +3056,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-relative": {
|
||||
|
@ -3368,9 +3213,6 @@
|
|||
"dev": true,
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"graceful-fs": "^4.1.6"
|
||||
}
|
||||
},
|
||||
"node_modules/jstransformer": {
|
||||
|
@ -3527,9 +3369,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/localtunnel/node_modules/y18n": {
|
||||
|
@ -3615,9 +3454,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/longest": {
|
||||
|
@ -3649,9 +3485,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/luxon": {
|
||||
"version": "1.25.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.25.0.tgz",
|
||||
"integrity": "sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==",
|
||||
"version": "1.26.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.26.0.tgz",
|
||||
"integrity": "sha512-+V5QIQ5f6CDXQpWNICELwjwuHdqeJM1UenlZWx5ujcRMc9venvluCjFb4t5NYLhb6IhkbMVOxzVuOqkgMxee2A==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "*"
|
||||
|
@ -3667,9 +3503,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/make-dir/node_modules/semver": {
|
||||
|
@ -3737,9 +3570,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/maximatch": {
|
||||
|
@ -3816,9 +3646,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sindresorhus/mem?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/merge2": {
|
||||
|
@ -3982,6 +3809,15 @@
|
|||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "4.x || >=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/nopt": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
|
||||
|
@ -4052,11 +3888,14 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">= 6.9.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"chokidar": "^3.3.0"
|
||||
}
|
||||
},
|
||||
"node_modules/oauth-1.0a": {
|
||||
"version": "2.2.6",
|
||||
"resolved": "https://registry.npmjs.org/oauth-1.0a/-/oauth-1.0a-2.2.6.tgz",
|
||||
"integrity": "sha512-6bkxv3N4Gu5lty4viIcIAnq5GbxECviMBeKR3WX/q87SPQ8E8aursPZUtsXDnxCs787af09WPRBLqYrf/lwoYQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
|
@ -4103,9 +3942,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/onetime/node_modules/mimic-fn": {
|
||||
|
@ -4152,9 +3988,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ora/node_modules/chalk": {
|
||||
|
@ -4168,9 +4001,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/p-cancelable": {
|
||||
|
@ -4201,9 +4031,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/p-finally": {
|
||||
|
@ -4225,9 +4052,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/p-locate": {
|
||||
|
@ -4252,9 +4076,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/p-timeout": {
|
||||
|
@ -4426,9 +4247,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8.6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/pify": {
|
||||
|
@ -4551,9 +4369,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/portscanner": {
|
||||
|
@ -4862,6 +4677,12 @@
|
|||
"node": ">=0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/queue-microtask": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz",
|
||||
"integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/range-parser": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||
|
@ -4929,9 +4750,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/read-pkg/node_modules/type-fest": {
|
||||
|
@ -5067,9 +4885,6 @@
|
|||
"dependencies": {
|
||||
"is-core-module": "^2.1.0",
|
||||
"path-parse": "^1.0.6"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/resolve-cwd": {
|
||||
|
@ -5178,24 +4993,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/run-parallel": {
|
||||
"version": "1.1.10",
|
||||
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz",
|
||||
"integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==",
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
|
||||
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
]
|
||||
"dependencies": {
|
||||
"queue-microtask": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/rx": {
|
||||
"version": "4.1.0",
|
||||
|
@ -5228,9 +5032,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/sass": {
|
||||
"version": "1.32.5",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.32.5.tgz",
|
||||
"integrity": "sha512-kU1yJ5zUAmPxr7f3q0YXTAd1oZjSR1g3tYyv+xu0HZSl5JiNOaE987eiz7wCUvbm4I9fGWGU2TgApTtcP4GMNQ==",
|
||||
"version": "1.32.8",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz",
|
||||
"integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"chokidar": ">=2.0.0 <4.0.0"
|
||||
|
@ -5400,9 +5204,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/serialize-error/node_modules/type-fest": {
|
||||
|
@ -5412,9 +5213,6 @@
|
|||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/serve-index": {
|
||||
|
@ -5862,21 +5660,7 @@
|
|||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
]
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/string-width": {
|
||||
"version": "4.2.0",
|
||||
|
@ -6167,6 +5951,16 @@
|
|||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/twitter-lite": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/twitter-lite/-/twitter-lite-1.1.0.tgz",
|
||||
"integrity": "sha512-v37I0zyYXjn3/zdm/ii+1RiBFZ2SCB3wLl1N5nfW8TUqoNDYBR66oXBFbQavKEvjg5WqcTUzNhAhe6FkgylPsw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cross-fetch": "^3.0.0",
|
||||
"oauth-1.0a": "^2.2.4"
|
||||
}
|
||||
},
|
||||
"node_modules/type-fest": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz",
|
||||
|
@ -6288,9 +6082,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/yeoman/update-notifier?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/update-notifier/node_modules/chalk": {
|
||||
|
@ -6304,9 +6095,6 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/url-parse-lax": {
|
||||
|
@ -7949,6 +7737,15 @@
|
|||
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
|
||||
"dev": true
|
||||
},
|
||||
"cross-fetch": {
|
||||
"version": "3.0.6",
|
||||
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.6.tgz",
|
||||
"integrity": "sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"node-fetch": "2.6.1"
|
||||
}
|
||||
},
|
||||
"crypto-random-string": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
|
||||
|
@ -8267,8 +8064,7 @@
|
|||
"version": "7.4.2",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz",
|
||||
"integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==",
|
||||
"dev": true,
|
||||
"requires": {}
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -8379,9 +8175,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"fast-glob": {
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
|
||||
"integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
|
||||
"version": "3.2.5",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
|
||||
"integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@nodelib/fs.stat": "^2.0.2",
|
||||
|
@ -8393,9 +8189,9 @@
|
|||
}
|
||||
},
|
||||
"fastq": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz",
|
||||
"integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==",
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz",
|
||||
"integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"reusify": "^1.0.4"
|
||||
|
@ -9387,9 +9183,9 @@
|
|||
}
|
||||
},
|
||||
"luxon": {
|
||||
"version": "1.25.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.25.0.tgz",
|
||||
"integrity": "sha512-hEgLurSH8kQRjY6i4YLey+mcKVAWXbDNlZRmM6AgWDJ1cY3atl8Ztf5wEY7VBReFbmGnwQPz7KYJblL8B2k0jQ==",
|
||||
"version": "1.26.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-1.26.0.tgz",
|
||||
"integrity": "sha512-+V5QIQ5f6CDXQpWNICELwjwuHdqeJM1UenlZWx5ujcRMc9venvluCjFb4t5NYLhb6IhkbMVOxzVuOqkgMxee2A==",
|
||||
"dev": true
|
||||
},
|
||||
"make-dir": {
|
||||
|
@ -9633,6 +9429,12 @@
|
|||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
||||
"dev": true
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
|
||||
"dev": true
|
||||
},
|
||||
"nopt": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
|
||||
|
@ -9686,6 +9488,12 @@
|
|||
"commander": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"oauth-1.0a": {
|
||||
"version": "2.2.6",
|
||||
"resolved": "https://registry.npmjs.org/oauth-1.0a/-/oauth-1.0a-2.2.6.tgz",
|
||||
"integrity": "sha512-6bkxv3N4Gu5lty4viIcIAnq5GbxECviMBeKR3WX/q87SPQ8E8aursPZUtsXDnxCs787af09WPRBLqYrf/lwoYQ==",
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
|
@ -10323,6 +10131,12 @@
|
|||
"integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=",
|
||||
"dev": true
|
||||
},
|
||||
"queue-microtask": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.2.tgz",
|
||||
"integrity": "sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==",
|
||||
"dev": true
|
||||
},
|
||||
"range-parser": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||
|
@ -10578,10 +10392,13 @@
|
|||
}
|
||||
},
|
||||
"run-parallel": {
|
||||
"version": "1.1.10",
|
||||
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz",
|
||||
"integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==",
|
||||
"dev": true
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
|
||||
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"queue-microtask": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"rx": {
|
||||
"version": "4.1.0",
|
||||
|
@ -10611,9 +10428,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"sass": {
|
||||
"version": "1.32.5",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.32.5.tgz",
|
||||
"integrity": "sha512-kU1yJ5zUAmPxr7f3q0YXTAd1oZjSR1g3tYyv+xu0HZSl5JiNOaE987eiz7wCUvbm4I9fGWGU2TgApTtcP4GMNQ==",
|
||||
"version": "1.32.8",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz",
|
||||
"integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chokidar": ">=2.0.0 <4.0.0"
|
||||
|
@ -11403,6 +11220,16 @@
|
|||
"integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=",
|
||||
"dev": true
|
||||
},
|
||||
"twitter-lite": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/twitter-lite/-/twitter-lite-1.1.0.tgz",
|
||||
"integrity": "sha512-v37I0zyYXjn3/zdm/ii+1RiBFZ2SCB3wLl1N5nfW8TUqoNDYBR66oXBFbQavKEvjg5WqcTUzNhAhe6FkgylPsw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cross-fetch": "^3.0.0",
|
||||
"oauth-1.0a": "^2.2.4"
|
||||
}
|
||||
},
|
||||
"type-fest": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz",
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
"crawl:analyze": "node crawler/analyze.js",
|
||||
"crawl:results": "node crawler/results.js",
|
||||
"crawl": "npm run crawl:analyze && sleep 60 && npm run crawl:results",
|
||||
"twitter:search": "node crawler/twitter.js",
|
||||
"twitter:search": "node crawler/twitter-search.js",
|
||||
"twitter:summary": "node crawler/twitter-summary.js",
|
||||
"test": "ava"
|
||||
},
|
||||
"repository": {
|
||||
|
@ -29,8 +30,9 @@
|
|||
"ava": "^3.15.0",
|
||||
"axios": "^0.21.1",
|
||||
"bottleneck": "^2.19.5",
|
||||
"fast-glob": "^3.2.4",
|
||||
"sass": "^1.32.5"
|
||||
"fast-glob": "^3.2.5",
|
||||
"sass": "^1.32.8",
|
||||
"twitter-lite": "^1.1.0"
|
||||
},
|
||||
"ava": {
|
||||
"files": [
|
||||
|
|
Loading…
Reference in New Issue
Block a user