IntroductionScrapy is a free and open-source web crawling framework written in Python. It allows you to send requests to websites and to parse the HTML code that you receive as response. With Scrapyrt (Scrapy realtime), you can create an HTTP server that can control Scrapy through HTTP requests. The response send by the server are data formatted in JSON containing the data scraped by Scrapy. It ba
はじめに インフルで1週間潰しました。辛かった。。。 ということで、クローリングについてです。 Pythonでクローリングするとなると、Scrapyはかなりよく出てくると思います。 僕も初めて触ってからかれこれ2年以上経っているように思います。 弊社Liaroでも使ってますし、何と言っても3系対応したのが嬉しいですね。 何を書くか チュートリアルとかは散々落ちてますので、TwitterをクローリングするときにAPIとどう連携させたかを書こうかと。どこか参考にしたはずなのですが忘れてしまい。。。見つけ次第リンク貼っておきます。 やってみた 方針 基本的には下図で言うMiddlewareをTwitter用に書いて、settingsを書いておく感じです。 Pythonバージョンは3.5.1で、Twitterライブラリはpython-twitterを使いました。 Middleware TW_CON
OSINT(Open Source Intellihence)というそうですね。いつの間にそういった言葉ができたのか、知りませんでしたが、どんな分野でも有用なWebサービスにはお世話になるものです。 セキュリティのWebサービスで有名どころと言えば VirusTotal があります。検体を投稿し、各ベンダーの製品でスキャンした結果を表示してくれます。他に、Webサイトのスキャンやファイルのハッシュ値でのスキャン結果の検索、IP、ドメインの情報の検索 など、利用可能な情報は多岐にわたります。 VirusTotalだけの話ではありませんが、投稿するファイルに機密な情報が含まれていないかは確認しておきましょう。こうした外部Webサイトへのファイルのアップロードは一般公開されても困らないもののみに限定すべきです。 こういった外部情報サイトは他にもあります。Webサイトの情報に特化したもの、マルウェ
皆さんご存知VirusTotalのAPIを少し試してみようと思います。 他の方のブログを見ていると、ハニーポットとVirusTotalを連携させてDionaeaに保全されたマルウェアを自動的に判定するようなものを作ったりしているのをみて、非常にそそられました。 なので、まずは「そもそもVirusTotal APIってなんぞ?」というところからはじめて、簡単な使い方などをまとめておこうと思います。 VirusTotalとは まずは基本的な話として、VirusTotalとは何かという話からはじめます。 簡単にまとめるとこんな感ですね。 ファイルをアップロードしたり、URLやファイルのハッシュ値をサーバーに問い合わせることによって、それがマルウェアなのか判定してくれたり、URLであれば攻撃サーバ(Command and Control Server: C2, C&C)なのかを判定してくれるWeb
目的 VirusTotal のAPIの使い方を覚えて、何かアンチマルウェア業界に貢献するツールを作ろうの会 前提 python 2.7.5 兎にも角にもひとまずリポジトリ VirusTotalとは? こちらです。 https://www.virustotal.com/ どういうページかというと、例えばの使い方ですが、怪しいファイルとかをぶち込めば、いろんなアンチウイルスにかけてくれて怪しいかどうか判定してくれたり、種々の解析情報を返してくれるページなのです。また、他の人がかけた結果もわかるので、例えばハッシュ値がわかって、すでに解析済みかどうかを調べることもできます。 ではVirusTotal APIとは? virustotalの機能をプログラムから利用できるAPIが公開されていて、多分ハッシュ値を投げれば情報を返してもらったり、その他もいろいろな事が出来ると思います(参考文献1.)。 基
Virus Total とは Analyze suspicious files and URLs to detect types of malware including viruses, worms, and trojans. 以下、日本語訳 ウイルスや、ワーム、トロイの木馬を含んだマルウェアの種類を検出するために疑わしいファイルやURLを分析します。 とのことです。 サイトには以下のようなフォームがあり、そこから分析対象とするファイルやURLを指定することができます。 試しに以前自分が発見したダウンローダが、Perl製のIRC Botを取得するために指定していたURLで分析を行いたいと思います。 結果は以下のようになりました。(ちなみに今回分析に使用したURLに"curl"コマンド等でリクエストを投げると実際にPerl製のIRC Botのソースコードが返ってきますのでご注意ください。)
機械学習Podcast「TWiML&AI」で先週取り上げられた可視化ライブラリ「Yellowbrick」が非常に便利だったので紹介します!ちなみにPodcastには作者の1人であるRebecca Bilbroさんが出演しているので興味持った方は是非聞いてみてください。 twimlai.com www.scikit-yb.org Yellowbrickとは 一言で言うと、機械学習に特化した可視化ライブラリです。実装的な面で言うと(こちらの方がわかりやすいかもしれません)、scikit-learnとmatplotlibをラップして、scikit-learnライクなAPIで使うことができるものです。 例えば相関行列のヒートマップをプロットしたい場合は次のように書くだけでグラフを作ることができます。 visualizer = Rank2D(features=features, algorithm=
はじめに この記事ではQiita APIおよびScrapyによるクローリング、スクレイピングによってQiitaの記事データ(タイトル、「いいね」数、投稿日時など)を取得しCSVファイルとして保存する方法を紹介する。 基本的にはQiita APIを使うべきだが、「ストック」数ランキングに限ってはスクレイピングで取得するほうが簡単。 以降のQiita APIやQiitaのサイトについての記述はすべて2018年8月15日時点の仕様。 収集したデータの分析については以下。 Python, pandasによるデータ分析の実践 (Qiita記事データ編) ※普段は自分のサイトに書いているのですが、Qiitaのデータを使わせてもらった内容はQiitaに書くのが筋だろうと思いこちらに書くことにしました。 「いいね」と「ストック」 Qiitaには「いいね」と「ストック」がある。 もともとは「ストック」だけだ
この記事は Retty Advent Calendar 2017 20日目です。 昨日は @resessh さんの 「Vue.jsをTypeScriptで書く環境を構築する (Sublime Text編)」 でした。 REST API提供者と自分にやさしいAPIクライアントをPythonでいい感じに作る方法 Rettyのサーバサイドエンジニアかつ,Python使いのnakagawa(@shinyorke)ともうします.1 データ分析をしたり,機械学習をしたりする上で,当然のことながらまとまったデータが必要ですと. データを得る・活用する際は, 公開されているAPI(REST API)から取得する Webサイトをクロールして目的のページをスクレイピングする APIから取ったデータorスクレイピングしたデータをDBに保存する といった苦行楽しい作業をするわけですが,その「楽しい作業」を, サイ
経緯 僕、普段はPythonとDjangoを使って 引きこもりしつつ飛び上がり自殺を考えながら 独自にwebアプリを書いているのですが、最近ではRailsでもSinatraでもFlaskでもDjangoでもPyramidでもなく、Goとそのフレームワークを使ってバックエンドコードを書いている(ように見える)ウェブアプリが見られます。 Goは並列処理がお得意な言語ということでよく知られていますが、今回、実際にGoでコードを書いてみて分かった事をまとめてみました。 書いたコード Go言語そのものを考えるために結構前に書いたやつ Ginを使って簡単なJSONを出力するため、結構前に書いたやつ GQLGenを使って認証機能を書いた 使ったフレームワーク 標準ライブラリ chi Gin Gorm GQLGen JWT 分かったこと Go言語そのものについて Go言語それ自体は並列処理が言語機能の一つ
前々回:API BlueprintでWeb APIのドキュメントを生成する - Qiita 前回:API Blueprintとapi-mockでモックサーバを作成する - Qiita 概要 さて、今回はAPI Blueprintを使って作成したWeb APIがドキュメント通りに動作するかを、dreddを使ってテストします。 dreddとは dreddはAPI BlueprintをベースにしたWeb APIのテストフレームワークです。"Language-agnostic"と謳っているだけあってテストのフックにはnode.js以外にもgoやPython、Rubyなど多様な言語が利用でき、またCircleCIやJenkinsCIなどのCIのサポートもあります。 このように、API Blueprintのエコシステムに乗っかることによって、API Blueprint形式で書いた仕様からaglioを使
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く