全面的改訂中(Jun 2020) 不勉強のせいで、このページには不確かまたは不適切な記載を多く含んでいます。 ご迷惑をおかけいたします。 プログラミングを理解するということは、まず自分で考えてみて、プログラミング例を見て「ナルホド!」と膝を打ち、さらに自分でより一般的に利用できるように改良するプロセスを繰り返すことである。
はじめに このページでは,Python 2.7系における日本語処理について記述する. Python 3.x系については当てはまらないことが多いので,注意が必要である. 使える文字コード Pythonでは,日本語は次のような文字コードを使って扱うことができる.プラットフォームによって使う文字コードが違う. UTF-8 (utf_8)…Unicodeの文字符号化の一つ.OS X環境の日本語の文字コード. Shift-JIS (shift_jis)…パソコンで用いられていた日本語の文字コード. ISO-2022-JP (iso2022_jp)…電子メールの送受信に用いられる日本語の文字コード. EUC-JP (euc_jp)…Unix環境で用いられていた日本語の文字コード. Code Page 932 (cp932)…Windows環境の日本語の文字コード.Shift-JISの一つのバリエーショ
CSVファイルを読み書きするには、csvモジュールのcsv.readerとcsv.writerを使用します。 まず、open()でファイルをオープンします。 file = open('サンプル.csv') 次に、readerオブジェクトを作成します。 reader = csv.reader(file) そして、for文やnextなどを使ってreaderオブジェクトから1行ごとに取得します。 for row in reader: # 何かの処理 この場合、rowはカンマで区切られたリストが格納されています。 ファイル読み込みのサンプル ファイルを読み込むときはopen()を読み込みモードで指定してファイルを開きます。 ここではwith構文を使うことで、オープンしたファイルのクローズを省略しています。特に理由がない場合は、with構文を使用した方が安全にファイルを扱うことができます。 # -*
今回は、これまで細かく説明してこなかったselfについて扱います。self自体については割りきってしまえば非常に単純明快なので、細かい話に興味がない人は最初の節のみ読んでいただければ大丈夫です。2節目以降は、かなり前の関数やモジュールの回で説明した「名前空間」と「スコープ」に関わる話となります。 メソッドのselfについて まず前回までの復習をします。Pythonのクラスのメソッドやコンストラクタでは第一引数をselfとし、それらの定義されたメソッドを呼び出す際はselfに該当する引数を指定しないのでした。 たとえば、以下のクラスのコンストラクタ__init__とmethod1の利用方法を見ればわかりますね。宣言にはselfがありますが、呼び出しにはselfに相当するものがありません。 class MyClass: def __init__(self): print('constructe
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 英語が分からないからエラーを読まない。 はい、私です。 反省します。 日々ここにpythonエラーを(正確性より分かりやすさ重視)をストックしていきます。 皆さんの力もお貸しいただいて、猿でも分かるエラー辞典を作りたいと思います。 カテゴリーはエラー内容で分けます。ページ内検索を使ってエラーをコピペしたら飛べるようにしたい。 エラーを制するものはプログラミングを制する。 Syntax系(SyntaxError) SyntaxError: invalid syntax 構文間違ってるよ・・。 ('がなかったりそもそも構文を勘違いしてたりの
例外とは? コードに間違いがあり、プログラムをコンパイルした際にエラーが発生することを「コンパイルエラー」と言いますが、 コンパイルは正常に終了しても、その後実行中に何らかの異常が発生することを例外と言います。 自分の記事の中ではこれまで意味が伝わるように「エラー」という言葉で「例外」を表現していましたが、 今後は正しい単語である「例外」を使用していきます。 これまでの記事で紹介した例外は以下のようなものがありました。 数値型と文字列型を+で結合する リスト.remove(要素)でリスト内に存在しない要素を削除しようとする ディクショナリでget(キー)を用いずに、存在しないキーを指定する 他にも有名な例外を発生させるコードが、数値を0で割るゼロ除算です。
2016/09/22 追記 3秒でわかるようになってなかったので追記。 Seleniumとはなにか 自動でブラウザ動かせれるやつ。テストとかにつかえる。 Seleniumのインストール方法 http://www.seleniumhq.org/download/ Chromeでやる場合、chromedriverをダウンロードする https://sites.google.com/a/chromium.org/chromedriver/downloads $ python >>> from selenium import webdriver >>> driver = webdriver.Chrome('chromedriverまでのパスをここに書いてね!') どうやって自動で動かすのか? 概要 DOMの要素をとって、それを動かす JavaScriptでDOMの要素を取得してうんちゃら〜って書く
from urllib.request import urlopen from bs4 import BeautifulSoup from pprint import pprint URL = 'http://news.yahoo.co.jp/' with urlopen(URL) as res: html = res.read().decode("utf-8") soup = BeautifulSoup(html, 'html.parser') titles = soup.select('.ttl a') # domを取得 titles = [t.contents[0] for t in titles] # テキストを取得 pprint(titles)
この記事はなんなの プログラミングを始めたばかりで高速化の大枠が全くわからず意味不明なことをしていた在学時、こんな資料があったら良かったのになあ、と思って書いたもの。 書いて、在学時研究室に押し付けた後紛失したと思われていたものが発掘されたもの。 要約 ライブラリがあるならそれを使う。 ライブラリが無ければ、ボトルネック部分を探してそこだけ高速な言語で書きなおすか、可能なら事前コンパイルする。 最初から全てを Low-Level な言語で書くと大変、でも結果のプログラムは速い。 以下の時間の計測ではインポートにかかる時間は除いています。 使用するもの Python(3系) Numba Scipy Line Profiler Fortran(gfortran) QUADPACK QUADPACK以外の導入方法の説明は色んな所にあるので各自でお願いします。上3つに関しては、個人的にはAnaco
多言語対応をしているサービスのSeleniumテストを書いていると、Accept-Languageヘッダを書き換えたいことがたまにあります。 python + ChromeDriverの構成でこれをやろうとしてハマったので、記事にしておきます。 先に回答を書くと、次のように書けば大丈夫です。 from selenium.webdriver import Chrome, ChromeOptions, Remote # ChromeOptionsでAccept-Languageヘッダを設定できる options = ChromeOptions() options.add_experimental_option('prefs', {'intl.accept_languages': 'ja'}) # ローカルの場合 executable_path = '/path/to/chromedriver'
AWS CLIのインストール方法についてです。 よく忘れてしまうので、手順として記載しておこうと思います。 AWS CLIは、サーバに導入すると様々な操作がコマンドラインから実行できるので、スクリプトに組み込んでAWSの機能を使うことができるようになり、柔軟なサーバ運用が可能になります。 インストール手順 AWS CLIは、pipでインストールすることが可能です。 pipは、python-pipをepelレポジトリからインストールします。 python version2.6以降が必要ですが、CentOS6では既に対応バージョンが入っているので何もしなくて大丈夫です。 $ python --version Python 2.6.6 pip(python-pip)インストール $ sudo yum --enablerepo=epel -y install python-pip AWS CLIイ
selenium WebDriverとは? Seleniumは、ブラウザの操作を自動化することで、Webシステムのデバッグをするために開発されたプログラムです。 ですが、ブラウザを自動的に操作することができますので、デバッグのためのツールとしてだけではなく、ロボットツールとしても利用されているプログラムです。 Seleniumには、selenium Core、selenium RC、selenium IDE、selenium WebDriver...など開発の歴史の中でいくつものバージョンが作られてきましたが、基本的には Firefoxが密接な関係にあったブラウザですので、Seleniumというと Firefox、という感じなのですが、ここでは、Google Chromeを使って自動操作するための環境構築の方法を解説します。 selenium WebDriverの Firefox版と Ch
2018年5月6日: Headless ChromeがStableになった後の現状に合わせた新しい記事を書きました。こちらもご参照ください。 先日PhantomJSのVitalyさんがメンテナーを引退するという話が話題になっていました。ヘッドレスなブラウザーを気軽に使う手段としてPhantomJSにはお世話になりました。今後はHeadless Chromeを使って欲しいとのことなので、試してみました。 Node.jsを使うサンプルは多く見つかりますが、諸事情でPythonを使いたかったので、ここではSelenium経由でHeadless Chromeを使います。 Headless Chromeとは Google Chrome 59から使えるようになる予定の、画面を表示せずに動作するモードです。自動テストやWebスクレイピングなどに役立ちます。 2017年4月28日現在、Mac版とLinux
- はじめに - 最近はWebスクレイピングにお熱である。 趣味の機械学習のデータセット集めに利用したり、自身のカードの情報や各アカウントの支払い状況をスクレイピングしてスプレッドシートで管理したりしている。 最近この手の記事は多くあるものの「~してみた」から抜けた記事が見当たらないので、大規模に処理する場合も含めた大きめの記事として知見をまとめておく。 追記 2018/03/05: 大きな内容なのでここに追記します。 github.com phantomJSについての記載が記事内でありますが、phantomJSのメンテナが止めたニュースが記憶に新しいですが、上記issueにて正式にこれ以上バージョンアップされないとの通達。 記事内でも推奨していますがheadless Chrome等を使う方が良さそうです。 - アジェンダ - 主に以下のような話をします。 - はじめに - - アジェンダ
Python東海 第28回勉強会の発表の中で、Seleniumでお小遣いを稼ぐという発表がありました。 Seleniumは名前は知っているけど使ったことがなかったのでネットバンキング(三菱東京UFJ銀行)で試してみました。 Selenium? Seleniumとはブラウザの操作を自動化するツールで、WebアプリのUIのテストや今回のようにスクレイピングに使用するツールです。 JavaScriptでDOMを組み立てているサイトで活躍します 環境 Mac OSX Python 3.5 準備 Seleniumのインストール $ pip install selenium Chrome driverのダウンロード Firefoxを使う場合はDriverはSeleniumに入ってるが、Chromeを使用する場合は別途ダウンロードが必要 ChromeDriver - WebDriver for Chro
はじめに こんにちは、データ分析部の久保 (@beatinaniwa) です。 今日は義務教育で教えても良いんじゃないかとよく思うWebクロールとスクレイピングの話です。 私自身、日頃は社内に蓄積されるニュース記事データや行動ログをSQLやPythonを使って取得・分析することが多いですが、Web上にある外部データを使って分析に役立てたいというシーンはままあります。 単独のページをガリガリスクレイピングしたいときなどは、下の1年半ぐらい前の会社アドベントカレンダーに書いたような方法でやっていけば良いんですが、いくつもの階層にわかれたニュースポータルサイトやグルメポータルサイトを効率よくクロール+スクレイピングするためには、それに適したツールを使うのがすごく便利です。 qiita.com そこでPython用スクレイピングフレームワークScrapyの登場です。 Scrapy | A Fast
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く