Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
python-tips.py P�xת� #!/usr/bin/env python import datetime import argparse from tqdm import tqdm def log(*args): msg = ' '.join(map(str, [datetime.datetime.now(), '>'] + list(args))) print(msg) with open('log.txt', 'at') as fd: fd.write(msg + '\n') def main(): psr = argparse.ArgumentParser() args = psr.parse_args() print('hello!', args) if __name__ == '__main__': main()
はじめに iOS上でPythonを実行できるとんでもないApp「Pythonista 3」を利用して,ブラウザで閲覧中のページのWhois情報を確認できるようにしてみました。 Pythonista 3 実行環境 iPad Air 2 (iOS 11.4.1) Pythonista 3 version 3.2 Google Chrome version 69.0.3497.105 ライブラリ whoisは標準ではインストールされていないと思うので,追加してください。 StaShが使えるのであれば,pip install whoisでOKです。 StaShが使えないなら,こんなくだらないことをしていないで使えるようにしましょう。 ソースコード import appex import socket from urllib.parse import urlparse from whois impo
はじめに APIでスタンダードな日付形式であるISO8601について、Pythonで扱うのに軽くはまったのでメモ。 ISO8601形式は様々な書き方ができますが、有名どころのAPIでは以下の2種類が多いと思います。 UTC 2016-12-31T20:02:05.123456Z APIのパラメータやサービスで設定したタイムゾーン 2016-12-31T20:02:05.123456+0900 文字列 -> datetime APIからJsonで戻ってきた文字列をPythonのdatetimeに変換します。常にJSTで統一しています。 datetimeはそのまま、>, < での比較ができ、timedeltaによる日付の計算ができるため、プログラム内では常にdatetimeで表現するのがよいかと思います。 def iso_to_jstdt(iso_str): dt = None try: dt
はじめに インフルで1週間潰しました。辛かった。。。 ということで、クローリングについてです。 Pythonでクローリングするとなると、Scrapyはかなりよく出てくると思います。 僕も初めて触ってからかれこれ2年以上経っているように思います。 弊社Liaroでも使ってますし、何と言っても3系対応したのが嬉しいですね。 何を書くか チュートリアルとかは散々落ちてますので、TwitterをクローリングするときにAPIとどう連携させたかを書こうかと。どこか参考にしたはずなのですが忘れてしまい。。。見つけ次第リンク貼っておきます。 やってみた 方針 基本的には下図で言うMiddlewareをTwitter用に書いて、settingsを書いておく感じです。 Pythonバージョンは3.5.1で、Twitterライブラリはpython-twitterを使いました。 Middleware TW_CON
Tensorflow 等を使っていると、このオブジェクトは一体なんのクラスのインスタンスで、どんな情報(プロパティ)を持っているのだろう、とわからなくなるときがしばしばあります。 しかも、まともなドキュメントが無いこともしばしばあります。 (例えば BeamSearchDecoderOutput など) このような時に便利な関数 explain を作りました。 例 tf.constant の戻り値を調べてみましょう。 In [7]: tensor = tf.constant([[1, 2], [3, 4]]) In [8]: explain(tensor) EXPLAIN ------------------ Tensor("Const_2:0", shape=(2, 2), dtype=int32) <class 'tensorflow.python.framework.ops.Tens
皆さんご存知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のソースコードが返ってきますのでご注意ください。)
Googleはサーチエンジンの情報収集にGooglebotを使っています。あるウェブサイトを起点に、そのサイトのリンクを自動で辿り、情報を収集します。 pythonの Scrapy モジュールを使えば、同じようなことを実現できます。 Scrapy を用いてサイトの情報を収集してみます。 準備 Scrapyをpipでインストールします。 `$ pip install scrapy 使い方 Scrapyは、プロジェクト単位で管理します。プロジェクトを生成した後、そこで自動生成された下記ファイルを編集していきます。 items.py : 抽出データを定義する spiders/以下のスパイダー(クローラー)ファイル:巡回、データ抽出条件 pipelines.py : 抽出データの出力先。今回はmongoDB settings.py : データ巡回の条件 (頻度や、階層など) プロジェクトの作成 ま
Scrapy とは Scrapy とは Python でクローラーを実装するためのフレームワークです Python でクローラーというと BeautifulSoup や lxml などの HTML パーサーがよく使われていますが、 Scrapy はこれらのライブラリと違うレイヤーのもので、クローラーのアプリケーション全体を実装するためのフレームワークです 公式ドキュメントでも、BeautifulSoup と Scrapy を比較するのは、jinja2 と Django を比較しているようなものだと言ってます In other words, comparing BeautifulSoup (or lxml) to Scrapy is like comparing jinja2 to Django. TL;DR Scrapy はクローラーを実装・運用するために欲しい機能がいろいろ用意されている
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く