En m'abstenant de sortir, j'ai participé à un membre principal d'Amazon, mais je l'utilise rarement sauf pour acheter du riz et des boissons. L'autre jour, j'ai commencé à utiliser le privilège appelé Prime Reading. Mais j'aimerais voir quel genre de livre je peux lire, mais vérifier page par page est toujours gênant, j'ai donc lancé un site de liste / recherche en utilisant Scrapy.
Allez ici: https://kpr.gimo.me/
Scrapy Vous pouvez écrire Spider pour définir toute acquisition de données, extraction, etc. Cliquez ici pour plus de détails: https://github.com/masakichi/KindleSpider/blob/master/KindleSpider/spiders/PrimeReading.py
Une fois terminé, vous pouvez obtenir tous les livres pendant environ une minute en utilisant la commande scrapy crawl PrimeReading -o public / output.json
.
Il est facile d'exprimer les données acquises par Scrapy en utilisant le plugin jQuery appelé DataTables, qui doit être stocké en HTML. Vous pouvez créer un tableau très complet avec environ 20 lignes de code. (Équipé de fonctions de tri et de recherche)
$('#prime-reading').DataTable({
"paging": false,
"order": [[4, 'desc']],
"ajax": { "url": "./output.json", "dataSrc": "", "cache": true },
"language": {
"url": "./Japanese.json"
},
"columns": [
{ "data": "asin", "visible": false },
{ "data": "title", "render": function (data, type, row) { return `<div><a class="title" data-image="${row.cover}" href="https://www.amazon.co.jp/dp/${row.asin}/" target="_blank">${data}</a></div>` }, "width": "40%" },
{ "data": "author" },
{ "data": "star" },
{ "data": "rating_count" },
{ "data": "price" },
{ "data": "publish_date" },
{ "data": "cover", "visible": false },
]
});
Vous pouvez publier sur des pages GitHub en fonction des index.html et output.json ci-dessus. Il existe de nombreuses façons de le publier en ligne, je vais donc l'omettre ici.
Si vous définissez les exigences sous la forme de yaml comme indiqué ci-dessous, vous pouvez automatiquement acquérir, extraire et lancer le site lorsque le code est poussé et tous les jours à 0h00 UTC (9h00 heure du Japon).
name: publish to gh-pages
on:
push:
branches:
- master
schedule:
- cron: "0 0 * * *"
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: dschep/install-pipenv-action@v1
- run: pipenv install
- run: TZ='Asia/Tokyo' date --iso-8601="minutes" > public/update_time.txt
- run: pipenv run scrapy crawl PrimeReading -o public/output.json
- name: Deploy to GitHub Pages
if: success()
uses: crazy-max/ghaction-github-pages@v2
with:
target_branch: gh-pages
build_dir: public
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
«Il semble qu'il existe de nombreux magazines dans Prime Reading. ―― C'est génial que GitHub Actions soit pratique et gratuit pendant 2000 minutes par mois. ――Les Trois Royaumes d'Eiji Yoshikawa peuvent désormais être lus gratuitement sur Prime Reading.
Recommended Posts