TL:DR レポジトリ https://github.com/tanakh/easy-scraper ドキュメント 背景 このところ訳あってRustでHTMLからデータを抽出するコードを書いていたのですが、 既存のスクレイピングライブラリが(個人的には)どれもいまいち使いやすくないなあと思っていました。HTMLから望みのデータを取り出すのはいろいろやり方があるかと思いますが、 ツリーを自力でトラバースするのはさすがにあまりにも面倒です。 近頃人気のライブラリを見てみますと、CSSセレクターで目的のノードを選択して、 その周辺のノードをたどるコードを書いて、 欲しい情報を取り出すという感じのものが多いようです。RustにもHTMLのDOMツリーをCSSセレクターで検索して見つかったノードをイテレーターで返してくれたりする、 scraperというライブラリがあります。 例えば、<li>要素
tag - A tool for manipulating and querying file tags.usage: tag -a | --add <tags> <path>... Add tags to file tag -r | --remove <tags> <path>... Remove tags from file tag -s | --set <tags> <path>... Set tags on file tag -m | --match <tags> <path>... Display files with matching tags tag -f | --find <tags> <path>... Find all files with tags, limited to paths if present tag -l | --list <path>... List

Python3入門のためのPDFテキストを配布しています.本書はフリーソフトウェアの書籍です.出典明記していただければ自由に使っていただいて結構です.(印刷,再配布も可) ●書籍情報 「Python3入門 - KivyによるGUIアプリケーション開発,サウンド入出力,ウェブスクレイピング」, 中村勝則, IDEJ出版, 2024年, ISBN978-4-9910291-3-4 C3004 「Python3入門」 (ミラーサイト1)(ミラーサイト2) 公開しているテキストに関する質問やメッセージお待ちしています. 「Python3 ライブラリブック」 (ミラーサイト1)(ミラーサイト2) 【Python3入門の目次】 1 はじめに — 1 1.1 Pythonでできること — 1 1.2 本書の内容 — 1 1.3 本書の読み方 — 1 1.4 処理系の導入(インストール)と起動の方法 —
技術的な標準・規格 (TODO: IATA,Microsoft) tzdatabase タイムゾーンに関する、ソフトウェア・エンジニアにとって最も標準的なデータが tzdatabase (Wikipedia) でしょう。 "Asia/Tokyo" や "Europe/London" のようなタイムゾーンの名前は、この tzdatabase のものです。 tzdatabase のタイムゾーンは "/" の前の最初の部分に大陸名・海洋名を用い、続いて、典型的にはそのタイムゾーン内の著名な都市名・島名をその代表として名付けられています。21 国名は基本的に使われません。22 "America/Indiana/Indianapolis" のように3要素で構成されるタイムゾーンも少数ながら存在します。 tzdatabase はボランティアによってメンテナンスされています。タイムゾーンの情

アメリカ人です。 Hello 👋 この記事の目的 多くの日本人は自分の英語力には自信がないではないでしょうか。残念ながら「英語がわからん」、「英語が全然できない」という声をしょっちゅう聞いています。でも、今まで英語ができて意味がちゃんと伝わる何人かの日本人に会ったがあります。完璧な英語ではないけど(外国人も英語でミスる時もある...)、がんばって話そうとするので充分仕事ができる人たち。そういうがんばる姿勢はオープンソースのプログラムや英語圏のプログラムに手を出すためには一番大事なことだと思います(外国人側もすごく助かります)。日本の文化では「私はできる!」と自慢することは少ない中、この記事を通して、流暢に話せなくても自分のプログラミングの命名の仕方にはちょっとだけでも自信を持たせたいなと思います。完璧じゃなくていいです。Let'sgo! 合わせて読んでいただきたい 【日本人エンジニア必



Ruby の each、each_with_object、inject、map は使いどころが微妙に違う。 それぞれ適切な状況で使い分けられれば、コードはより分かりやすくなる。 どんな状況でも each で書くことはできる。だから、each だけ使いこなせればいいという考え方はある点で正しい。そのような考え方の人にとってはeach で書くのがもっとも分かりやすいコードになるだろう。 しかし慣れてみると上記のメソッドを使い分けられる方が簡潔で分かりやすいコードになる。その理由はメッセージ性の違いだ。 each ですべてを書く場合は余計なコードを書く必要があり、その分、どうしても、本質的なコードが埋もれてしまう。余分なコードがないほど、本質的なコードが際立つ。メッセージが伝わりやすくなる。意味があるコードの比率を下げることは、中級プログラマへの道を開く鍵だ。 それでは本題に入ろう。 まずは簡単

Help us understand the problem. What isgoing on with this article? 世間はクリスマスモードだと言うのに、辛気臭いタイトルですみません。「勝手に殺すな」とか「お前は何様だ」などとなんだか怒られそうです。「喪失感で胸がいっぱい」だとか「 Objective-C はまだまだ使える言語です!」だとか、そういう感傷もありませんし、主張もしません。「いい言語だと思うし好きだけど、結局Mac OS X や iOS のアプリケーション開発以外に活用(しようとトライしたけど)できないままSwift が発表されたなー」と思っていて、なぜ活用しにくかったのかを整理してみようと考えました。ですので、「 Objective-C 栄光の歴史」を語ることはありません。体験してないし。知らないし。 それから、ここでは言語としての Objective-

いままでなんとなく使ってきたけど、ようやく使い方が分かったような気がするのでメモ。 前提知識 インデックスとワーキングツリーが理解できていること HEAD が何か分かっていること git diff ワーキングツリーとインデックスの差分を表示。 git add した後にさらに修正したけど、そういえばどの時点で git add したのかなー、というときに使う? git add したらすぐにコミットする自分には関係なさそう。 git diff --cached HEAD とインデックスの差分を表示。 git add して、コミットする前に差分を確認したい時に使うんだと思う。 自分は git diff よりもこっちの方をよく使う。 git diff HEAD HEAD とワーキングツリーの差分を表示。 前にコミットした時からどれくらい編集したか確認したい時に使う。 HEAD の部分はコミット(HE

Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
El Capitan & Homebrew Part of the OS X 10.11/El Capitan changes is something called SystemIntegrity Protection or "SIP". SIP prevents you from writing to many system directories such as /usr, /System & /bin, regardless of whether or not you are root. TheApple keynote is here if you'd like to learn more. One of the implications of SIP is that you cannotsimplycreate /usr/local ifit is removed o
README.md EssentialJavaScript Links A curated list by Eric Elliott and friends. Suggest links in thegist comments. Help us turn this into a proper website! This is a very exclusive collection of only must-haveJavaScript links. I'm only listing my favorite links. Nothing else makes the cut. Feel free to suggest links if you think they'regood enough to make this list. The really curious should f

Promiseは非同期処理をベースにした並列処理の実装方法の一種です。Promiseでは並列処理の各タスクが必ず1回実行されることが保証され、タスクとタスクからの結果を取得する処理を分離することできます。また、タスクの並列処理/直列処理をユーザーが自由に制御することができます。 ECMAScript Language Specification 6th EditionにPromiseが追加されたことから、しばらくの間JavaScriptの非同期処理に関する話題の中心はPromiseになると思われます。 Node.jsでも既にPromise対応したモジュールも多く、Promiseでのみ非同期処理を提供しているモジュールも存在します。Promiseを使用する機会は今後必然的に増えていくでしょう。 今回のエントリーでは、Node.jsでPromiseを使用する方法を説明します。コード例を中心に理

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く