abigegg/lanark

格拉斯哥图书馆数据客户端

0.1.5 2020-11-16 01:41 UTC

This package is auto-updated.

Last update: 2024-09-27 22:46:19 UTC


README

Lanark 是一个用于从格拉斯哥图书馆目录中获取数据的 PHP 库。

它使用无头 Chrome 爬取图书馆的 Arena 网站 (https://libcat.csglasgow.org/),并提供了一个非常简单的接口,以便编程方式使用。

要求

使用

使用 Composer 安装

composer require abigegg/lanark

通过 ISBN 获取书籍

use ABigEgg\Lanark;

$client = new Lanark\Client();

// grab an item by its ISBN
$book = $client->getItemByISBN('9781787300521');

var_dump( $book );

// object(Lanark\Item)#21 (5) {
//     ["title"]=>
//     string(30) "Orwell on truth, George Orwell"
//     ["author"]=>
//     string(25) "Orwell, George, 1903-1950"
//     ["isbn"]=>
//     string(13) "9781787300521"
//     ["availability_count":protected]=>
//     NULL
//     ["year"]=>
//     string(4) "2017"
//   }

使用关键词搜索书籍

use ABigEgg\Lanark;

$client = new Lanark\Client();

// search for some items by keyword
$books = $client->search('hitchhikers guide');

var_dump( $books );

// array(10) {
//     [0]=>
//         object(ABigEgg\Lanark\Item)#148 (6) {
//         ["title"]=>
//         string(51) "The hitchhiker's guide to the Galaxy, Douglas Adams"
//         ["author"]=>
//         string(26) "Adams, Douglas, 1952-2001,"
//         ["isbn"]=>
//         string(13) "9781509808311"
//         ["availability_count":protected]=>
//         NULL
//         ["year"]=>
//         string(4) "2016"
//         ["item_page_url"]=>
//         NULL
//         }
//     [1]=>
//         object(ABigEgg\Lanark\Item)#247 (6) {
//         ["title"]=>
//         string(52) "The hitch-hiker's guide to the Bible, Colin Sinclair"
//         ["author"]=>
//         string(15) "Sinclair, Colin"
//         ["isbn"]=>
//         string(13) "9781854248541"
//         ["availability_count":protected]=>
//         NULL
//         ["year"]=>
//         string(4) "2008"
//         ["item_page_url"]=>
//         NULL
//     }
// }
// ...

检查书籍是否可借(以及有多少副本)

use ABigEgg\Lanark;

$client = new Lanark\Client();

$book = $client->getItemByISBN("9781787300521");

var_dump( $book->getAvailability() );

// int(2)

变更日志

[0.1.5] 2020年11月16日

  • 添加了通过 $client->search( 'Keywords' ) 的关键词搜索
  • 实时获取可用信息,以避免不必要的请求
  • 重构

[0.1.4] 2020年11月15日

  • 用 Chrome driver 替换 Goutte,现在书籍可用信息工作正常了!

[0.1.0] 2020年11月14日

  • 初始提交

计划中的功能

  • 搜索
    • 通过书名和作者(关键词)搜索
    • 通过出版年份搜索书籍
    • 通过书籍类型搜索
  • 书籍
    • 显示书籍目前是否可借,以及来自哪个图书馆
    • 如果可用,从 Google Books 获取摘要和缩略图
    • (如果认证)预定一本书以便借阅
  • 借阅
    • 使用格拉斯哥图书馆用户 ID 和 PIN 进行认证
    • 获取您当前的预订单列表以及它们何时到期

许可

许可协议为 MIT 许可证