diff --git a/fixtures/japan.zdnet.com/1556591023244.html b/fixtures/japan.zdnet.com/1556591023244.html new file mode 100644 index 000000000..8a468efa6 --- /dev/null +++ b/fixtures/japan.zdnet.com/1556591023244.html @@ -0,0 +1,874 @@ + + + + +Raspberry Pi競合--Ubuntuが動く「UP Core」を見る - ZDNet Japan + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+
+ + +
+ +
+
+
+ +
+ + +
+ + + +

+ +Raspberry Pi競合--Ubuntuが動く「UP Core」を見る

+ +

+ZDNet Japan Staff 2019年04月28日 08時00分

+ +
    +
  • + +
    + + + + +
  • +
  • +
  • +このエントリーをはてなブックマークに追加 +
  • +
  • + +
  • +
+
    + +
  • 印刷
  • + + + + + + + + + +
    +
+ + +
    +
+
+
+ +

+ 2017年にリリース予定の低価格ポケットサイズコンピュータは、「Android Marshmallow」と「Windows 10」のフルバージョンが動作する。 +

+ 「UP Core」は、「ubilinux(Debian)」や「Ubuntu」「Yocto」など、さまざまなOSが動作するシングルボードコンピュータだ。そして、その性能は「Raspberry Pi 3 Model B」を上回るようだ。 +

+ +

+(本記事は、TechRepublic Japanで2017年6月8日に掲載した記事からの転載です。続きはTechRepublic Japanでお読みいただけます) +

+ + +
+
+ + +
+

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

+ +
+ + + + + +
+
    +
  • +
  • +
  • +
  • +このエントリーをはてなブックマークに追加 +
  • +
  • +
+
+ +
+
+
    +
+ +
+ +

連載

+
+ + + +
CIO
+
+ 月刊 Windows 10移行の心・技・体 +
+
+ ITアナリストが知る日本企業の「ITの盲点」 +
+
+ シェアリングエコノミーの衝撃 +
+
+ デジタル“失敗学” +
+
+ コンサルティング現場のカラクリ +
+
+ Rethink Internet:インターネット再考 +
+
+ インシデントをもたらすヒューマンエラー +
+
+ トランザクションの今昔物語 +
+
+ エリック松永のデジタルIQ道場 +
+
+ 研究現場から見たAI +
+
+ Fintechの正体 +
+
+ 米ZDNet編集長Larryの独り言 +
+
+ 大木豊成「仕事で使うアップルのトリセツ」 +
+
+ 山本雅史「ハードから読み解くITトレンド放談」 +
+
+ 田中克己「展望2020年のIT企業」 +
+
+ 松岡功「一言もの申す」 +
+
+ 松岡功「今週の明言」 +
+
+ 内山悟志「IT部門はどこに向かうのか」 +
+
+ 林 雅之「デジタル未来からの手紙」 +
+
+ 谷川耕一「エンプラITならこれは知っとけ」 +
+
+ 大河原克行「エンプラ徒然」 +
+
+ 内製化とユーザー体験の関係 +
+
+ 「プロジェクトマネジメント」の解き方 +
+
+ ITは「ひみつ道具」の夢を見る +
+ + + + + + +
セキュリティ
+
+ セキュリティインシデント対応の現場 +
+
+ エンドポイントセキュリティの4つの「基礎」 +
+
+ 企業セキュリティの歩き方 +
+
+ サイバーセキュリティ未来考 +
+
+ ネットワークセキュリティの要諦 +
+
+ セキュリティの論点 +
+ + + + + + +
スペシャル
+
+ エンタープライズAIの隆盛 +
+
+ インシュアテックで変わる保険業界 +
+
+ 顧客は勝手に育たない--MAツール導入の心得 +
+
+ 「ひとり情シス」の本当のところ +
+
+ ざっくり解決!SNS担当者お悩み相談室 +
+
+ 生産性向上に効くビジネスITツール最前線 +
+
+ ざっくりわかるSNSマーケティング入門 +
+
+ 課題解決のためのUI/UX +
+
+ 誰もが開発者になる時代 ~業務システム開発の現場を行く~ +
+
+ 「Windows 10」法人導入の手引き +
+
+ ソフトウェア開発パラダイムの進化 +
+
+ エンタープライズトレンド +
+
+ 10の事情 +
+
+ 座談会@ZDNet +
+
+ Dr.津田のクラウドトップガン対談 +
+
+ Gartner Symposium +
+
+ IBM World of Watson +
+
+ de:code +
+
+ Sapphire Now +
+
+ VMworld +
+
+ Microsoft WPC +
+
+ Microsoft Connect() +
+
+ HPE Discover +
+
+ Oracle OpenWorld +
+
+ Dell Technologies World +
+
+ AWS re:Invent +
+
+ AWS Summit +
+
+ PTC LiveWorx +
+
+ 吉田行男「より賢く活用するためのOSS最新動向」 +
+
+ 古賀政純「Dockerがもたらすビジネス変革」 +
+
+ 中国ビジネス四方山話 +
+
+ ベトナムでビジネス +
+
+ 日本株展望 +
+
+ 企業決算 +
+ + +
+
+ +
+ + +
+ + + + +
+ +
+ +
+ + +
+
+ +
+ + +
+
+ このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 + これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
+ Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
+ [ 閉じる ] +
+
+ + + + + + + + + + + + + + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/src/extractors/custom/index.js b/src/extractors/custom/index.js index fb31366dd..7aa30625d 100644 --- a/src/extractors/custom/index.js +++ b/src/extractors/custom/index.js @@ -124,3 +124,4 @@ export * from './www.ipa.go.jp'; export * from './weekly.ascii.jp'; export * from './techlog.iij.ad.jp'; export * from './wired.jp'; +export * from './japan.zdnet.com'; diff --git a/src/extractors/custom/japan.zdnet.com/index.js b/src/extractors/custom/japan.zdnet.com/index.js new file mode 100644 index 000000000..450b865b7 --- /dev/null +++ b/src/extractors/custom/japan.zdnet.com/index.js @@ -0,0 +1,29 @@ +export const JapanZdnetComExtractor = { + domain: 'japan.zdnet.com', + + title: { + selectors: ['h1'], + }, + + author: { + selectors: [['meta[name="cXenseParse:author"]', 'value']], + }, + + date_published: { + selectors: [['meta[name="article:published_time"]', 'value']], + }, + + dek: null, + + lead_image_url: { + selectors: [['meta[name="og:image"]', 'value']], + }, + + content: { + selectors: ['div.article_body'], + + transforms: {}, + + clean: [], + }, +}; diff --git a/src/extractors/custom/japan.zdnet.com/index.test.js b/src/extractors/custom/japan.zdnet.com/index.test.js new file mode 100644 index 000000000..9e86f94ea --- /dev/null +++ b/src/extractors/custom/japan.zdnet.com/index.test.js @@ -0,0 +1,111 @@ +import assert from 'assert'; +import URL from 'url'; +import cheerio from 'cheerio'; + +import Mercury from 'mercury'; +import getExtractor from 'extractors/get-extractor'; +import { excerptContent } from 'utils/text'; + +const fs = require('fs'); + +describe('JapanZdnetComExtractor', () => { + describe('initial test case', () => { + let result; + let url; + beforeAll(() => { + url = 'https://japan.zdnet.com/article/35136396/'; + const html = fs.readFileSync( + './fixtures/japan.zdnet.com/1556591023244.html' + ); + result = Mercury.parse(url, { + html, + fallback: false, + }); + }); + + it('is selected properly', () => { + // This test should be passing by default. + // It sanity checks that the correct parser + // is being selected for URLs from this domain + const extractor = getExtractor(url); + assert.equal(extractor.domain, URL.parse(url).hostname); + }); + + it('returns the title', async () => { + // To pass this test, fill out the title selector + // in ./src/extractors/custom/japan.zdnet.com/index.js. + const { title } = await result; + + // Update these values with the expected values from + // the article. + assert.equal(title, `Raspberry Pi競合--Ubuntuが動く「UP Core」を見る`); + }); + + it('returns the author', async () => { + // To pass this test, fill out the author selector + // in ./src/extractors/custom/japan.zdnet.com/index.js. + const { author } = await result; + + // Update these values with the expected values from + // the article. + assert.equal(author, `ZDNet Japan Staff`); + }); + + it('returns the date_published', async () => { + // To pass this test, fill out the date_published selector + // in ./src/extractors/custom/japan.zdnet.com/index.js. + const { date_published } = await result; + + // Update these values with the expected values from + // the article. + assert.equal(date_published, `2019-04-27T23:00:00.000Z`); + }); + + it('returns the dek', async () => { + // To pass this test, fill out the dek selector + // in ./src/extractors/custom/japan.zdnet.com/index.js. + const { dek } = await result; + + // Update these values with the expected values from + // the article. + assert.equal(dek, null); + }); + + it('returns the lead_image_url', async () => { + // To pass this test, fill out the lead_image_url selector + // in ./src/extractors/custom/japan.zdnet.com/index.js. + const { lead_image_url } = await result; + + // Update these values with the expected values from + // the article. + assert.equal( + lead_image_url, + `https://japan.zdnet.com/storage/2019/04/26/97670c9f883bf3f9e11a492df245717c/190426_original_1280x960.jpg` + ); + }); + + it('returns the content', async () => { + // To pass this test, fill out the content selector + // in ./src/extractors/custom/japan.zdnet.com/index.js. + // You may also want to make use of the clean and transform + // options. + const { content } = await result; + + const $ = cheerio.load(content || ''); + + const first13 = excerptContent( + $('*') + .first() + .text(), + 1 + ); + + // Update these values with the expected values from + // the article. + assert.equal( + first13, + '2017年にリリース予定の低価格ポケットサイズコンピュータは、「Android' + ); + }); + }); +});